我正在使用jQuery UI 的 datepicker来制作一个日历,该日历在通过 ajax 和 PHP 拉入的 db 的工具提示中显示事件。我遇到的问题是,只有数组中的第一个事件在其日期显示,而不是 ajax 返回的所有内容。
我通过 console.log() 检查了数组的内容和长度,并验证它返回了正确的信息,但除此之外,我不确定还能尝试什么。
jQuery的相关部分:
function calendarModify() {
var cal = $(".caledit");
$.ajax({
url: "calprocess.php?action=showdates",
type: "POST",
dataType: "json",
success: function (events) {
cal.datepicker({
showButtonPanel: true,
dateFormat: "yy-mm-dd",
beforeShowDay: function (dates) {
var d = ('0' + dates.getDate()).slice(-2),
m = ('0' + (dates.getMonth() + 1)).slice(-2),
y = dates.getFullYear(),
date = y + "-" + m + "-" + d;
for (var i = 0; i < events.length; i++) {
if (events[i].event_date === date) {
return [true, "event", events[i].event_desc];
}
else {
return [true, ""];
}
}
}
(还有更多,但一切正常)