簡體   English   中英

在jQuery Datepicker中禁用自定義日期

[英]Disable custom dates in jquery datepicker

我正在嘗試從Jquery UI datepicker日歷中禁用某些日期。

我的問題是僅禁用disableDays函數檢查的最后日期,而不是全部禁用。 為什么只禁用上次檢查的日期。 我應該從此函數返回不同的響應嗎?

完整腳本:

var disabled_days = new Array(); // Array of Date() objects


$('.date-picker-day').live('click', function () {
    $(this).datepicker({
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'dd',
        beforeShow: function () {
            [..]
        },
        beforeShowDay: disableDays,
        onClose: function (dateText, inst) {

        }

    }).focus();
});

function disableDays(date) {
    var ret = false;
    $.each(disabled_days, function (k, v) {
        if (v.getDate() == date.getDate()) {
            console.log(v + 'vs.' + date + ' invalid');
            ret = [false];
        } else {
            ret = [true];
        }
    });

    return ret;
}  

找到負匹配后,您需要停止disabled_days數組的進一步迭代,否則在下一個值迭代中,日期將不匹配, ret將再次獲得true

function disableDays(date) {
    var ret = false;
    $.each(disabled_days, function (k, v) {
        if (v.getDate() == date.getDate()) {
            console.log(v + 'vs.' + date + ' invalid');
            ret = [false];
            return false;
        } else {
            ret = [true];
        }
    });
    return ret;
}

演示: 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM