OnSelect无法正常工作

时间:2018-07-16 10:01:04

标签: javascript jquery datepicker xmlhttprequest

我指定正确检索actionAgenda.php数据并准确(返回与时隙对应的整数列表)。

  • 首先,在console.log或警报中显示每个新日期选择的数据。但是按钮不会响应两次,默认情况下会恢复其颜色。

  • 第二,按钮有时会闪烁,它们显示可用的日期,然后在十分之一秒内以标准颜色返回。

  • 第三,虽然我编写了相反的代码,但是当我们在日期选择器中选择一个新日期时,先前单击的按钮将保留“选中的颜色”

$(document).ready(function() {
  $('#buttonList > button').on("click",
    function() {
      if ($(this).css("background-color") == "#BFC0C0") {
        $(this).toggleClass("nocheck");
      } else {
        $(this).toggleClass("check");
      }
    }
  );

  $("#datepicker").datepicker({
    minDate: <?php echo '\''.(new \DateTime())->format('Y-m-d').'\'';?>,
    dateFormat: 'yy-mm-dd',
    showOn: "both",
    onSelect: function() {
      var id_h = "<?php echo $_SESSION['id']?>";
      var i;
      for (i = 5; i < 23; i++) {
        $("#" + i.toString()).toggleClass("nocheck"); //default background-color
      }

      var xhr = getXMLHttpRequest();
      xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
          arrayDate = JSON.parse(xhr.responseText);
          var i;
          for (i = 0; i < arrayDate.length; i++) {
            $("#" + arrayDate[i].debut).toggleClass("check"); //checked buttons' background color
          }
        }
      };

      xhr.open("GET", "actionAgenda.php?mode=get&id_h=" + id_h + "&date=" + this.value, true);
      xhr.send(null);
    }
  });
});

0 个答案:

没有答案