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 文档上读到,这个事件是针对日历中显示的所有日期触发的。当我们返回时falsedd日期将被禁用。

但是,此代码禁用所有日期。我错过了什么。

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 回答