JSFiddle - React, Tailwind, and code Playground

HTML

<div id="calendar"></div>

CSS

.click {
    background: red;   
}

table {
  border-collapse: collapse;
}

td, th {
  border: 1px solid black;
  padding: 3px;
  text-align: center;
}

th {
  font-weight: bold;
  background-color: #E6E6E6;
}

JavaScript

function createCalendar(id, year, month) {    
    $.ajax({
        type: "POST",
        url: send.php,
        data: "month=" + month + "&year="+year,
    });
    var elem = document.getElementById(id);
  var mon = month - 1; // месяцы в JS идут от 0 до 11, а не от 1 до 12
  var d = new Date(year, mon);

  var table = '<table><tr><th>пн</th><th>вт</th><th>ср</th><th>чт</th><th>пт</th><th>сб</th><th>вс</th></tr><tr>';

  // заполнить первый ряд от понедельника
  // и до дня, с которого начинается месяц
  // * * * | 1  2  3  4
  for (var i=0; i<getDay(d); i++) {
    table += '<td></td>';
  }

  // ячейки календаря с датами
  while(d.getMonth() == mon) {
    table += '<td>'+d.getDate()+'</td>';

    if (getDay(d) % 7 == 6) { // вс, последний день - перевод строки
      table += '</tr><tr>';
    }

    d.setDate(d.getDate()+1);
  }

  // добить таблицу пустыми ячейками, если нужно
  if (getDay(d) != 0) {
    for (var i=getDay(d); i<7; i++) {
      table += '<td></td>';
    }
  }

  // закрыть таблицу
  table += '</tr></table>';

  // только одно присваивание innerHTML
  elem.innerHTML = table;
}

function getDay(date) { // получить номер дня недели, от 0(пн) до 6(вс)
  var day = date.getDay();
  if (day == 0) day = 7;
  return day - 1;
}

//var today = new Date();
//var yr = today.getFullYear();
//var mr = today.getMonth()

createCalendar("calendar", 2014, 10)

$('table').on('click', 'td', function () {
    var index = $(this).index();
    
    $('td').not(this).filter(function() {
        return $(this).index() == index;
    });
    
    $(this).toggleClass('click');
var day = $(this).html();
    var month = 10;
    var year = 2014;
    var dates = year +'-' + month +'-'+ day;
var your_url = 'send.php';
var your_uid = 17;
$.ajax({
        type: "POST",
        url: your_url,
        data: "uid=" + your_uid + "&day="+day,
        success: function(data) {
            if (data) {
                $('td').not(this).filter(function() {
                    return...