我指定正确检索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);
}
});
});