1

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, ""];
                    }
                }
            }

(他にもありますが、すべて正常に動作しています)

4

1 に答える 1