如何在jQuery datepicker中禁用今天之前的日期

use*_*600 5 javascript jquery datepicker

如何在今天之前在jQuery datepicker中禁用日期而不使用minDate: 0

我希望在今天之前按照惯例启用日历导航,同时确保用户在今天之前不选择日期.

(即说今天的日期是11Aug11,我希望在禁用之前的所有日期,但仍然允许用户前几个月,几年等)

Mar*_*iek 6

虽然我同意这是奇怪的行为,但你可以使用onSelect datepicker 的事件伪造它.

$(document).ready(function() {
    $('#Date').datepicker({
        onSelect: function(dateText, inst) {
            //Get today's date at midnight
            var today = new Date();
            today = Date.parse(today.getMonth()+1+'/'+today.getDate()+'/'+today.getFullYear());
            //Get the selected date (also at midnight)
            var selDate = Date.parse(dateText);

            if(selDate < today) {
                //If the selected date was before today, continue to show the datepicker
                $('#Date').val('');
                $(inst).datepicker('show');
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

基本上,你处理这个onSelect事件.

选择日期后,请检查是否在今天的日期之前.

如果,则立即再次显示日期选择器并清除附加的输入框.


更新的 代码示例现在完全正常运行.这是一个证明的jsfiddle.