1

アプリケーションにjquerydatepickerを使用しています。

ユーザーが選択した日付を強調したい。ユーザーが日付を選択すると、その日付が休日としてデータベースに追加され、日付が強調表示されます。私はすでにデータベースにいくつかの日付があり、beforeShowDayイベントを使用する前に強調表示されます。また、週末を無効にしました。

データベースに追加した後、その日付を強調表示できないことを除いて、すべてが正常に機能しています。カレンダーをリロードしているときにのみ強調表示されます。

インターネットで検索しましたが、明確なアイデアがわからなかったため、multidatepickerを使用することをお勧めする場所がたくさんありますが、ポイントは、データベースに追加する日付を1つだけ選択してから、他の日付を選択することです。

私がどこで間違っているのか教えてください。私のコードは-

var dates = [ <? php echo $holidays; ?> ];

$(document).ready(function () {
    $("#calendardisplay").datepicker({
        dateFormat: 'yy-mm-dd',
        beforeShowDay: highlightDays,
        onSelect: dateSelected
    });

    function dateSelected(dateText, inst) {
        $.post('/postChannelHoliday.php', {
            'date': dateText
        }, function (data) {
            alert('Successfully Added');
        });
    }
}

function holiday(date) {
    for (var i = 0; i < dates.length; i++) {
        if (new Date(dates[i]).toString().substr(0, 16) == date.toString().substr(0, 16)) {
            return [true, 'ui-state-highlight'];
        }
    }
    return [true, ''];
}

function highlightDays(date) {
    var noWeekend = $.datepicker.noWeekends(date);
    if (noWeekend[0]) {
        return holiday(date);
    } else {
        return noWeekend;
    }
}
});

データベースに保存されている日付を取得してカレンダーで強調表示するためのphpファイルを含めています

4

1 に答える 1

0

alert休日のリスト(グローバルオブジェクトのように見える)を更新する代わりに、 refreshdatesを呼び出して日付ピッカーを強制的に更新する必要があります。

于 2012-04-06T06:38:38.690 に答える