0

次のコードは、datepicker での今日の日付の選択を制限することを目的としています。

    jQuery(function () {

        var dateModifier = {
            beforeShowDay: function (dd) {
                var today = new Date();
                if (dd.getDate() === today.getDate()) {
                    return false;
                }
                else {
                    return true;
                }
            }
        };

        jQuery("#txt1").datepicker(dateModifier);

    });

この目的のために、イベントdateModifierを含むオブジェクトを明示的に渡しました。beforeShowDayこのイベントは、カレンダーに表示されているすべての日付に対して発生するという jQuery doc を読みました。戻るfalseと、dd日付は無効になります。

ただし、このコードはすべての日付を無効にします。何が欠けていますか。

HTML:

<input id="txt1" type="text" name="name" value=" " />
4

1 に答える 1

3
var disabledDays = ["9-21-2010", "9-24-2010", "9-27-2010", "9-28-2010", "9-3-2010", "9-17-2010", "9-2-2010", "9-3-2010", "9-4-2010", "9-5-2010"];
function disableAllTheseDays(date) {
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
    for (i = 0; i < disabledDays.length; i++) {
        if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
            return [false];
        }
    }
    return [true];
}

var dateModifier = {
        beforeShowDay: disableAllTheseDays
    };

    jQuery("#txt1").datepicker(dateModifier);

ここでいくつかの詳細を確認してください

于 2012-10-29T11:45:40.833 に答える