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, ""];
}
}
}
(他にもありますが、すべて正常に動作しています)