将截止时间前一天添加到 jquery.ui.datepicker

Add Day Before Cut Off Time To jquery.ui.datepicker

我有什么

在 jquery.ui.datepicker 中,我已将值 minDate 更改为 +1,因此无法选择今天的日期或任何历史日期。 到目前为止一切都很好.....但是.....

我想要的

我想阻止任何人在今天晚上 8 点之后选择明天的日期,因此,明天晚上 8 点之后的日期应该不再可供选择。 我在默认值或 datePicker 网站上的任何示例中都看不到执行此操作的选项。

实现此目标的最佳或最简单方法是什么?

提前感谢您的建议

因为 jQuery DatePicker 还没有提供支持时间的功能(我猜)我们需要手动完成此操作。

您可以使用 beforeShow options 的 jQuery DatePicker;每次单击 DatePicker 输入字段 时都会调用 datePicker UI 显示。

因此,在 beforeShow 中您可以计算当前时间并根据需要操作 minDate ,

beforeShow : function(){
        var dateTime = new Date();
        var hour = dateTime.getHours();
        //If Hour is greater or equals to 8PM
        if(hour  >= 20){
            //Disable all past days including tomorrow and today
            $(this).datepicker( "option", "minDate", "+2" );
        }
    }

这里是 working demo.

P.S

  1. 我还没有试过,但你应该看看这个 DateTimePicker 插件 如果你想要一个更微妙的方法