在截止时间之前添加日期到jquery.ui.datepicker

时间:2015-01-25 07:22:22

标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker

我有什么

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

我想要什么

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

我能做到的最好或最简单的方法是什么?

感谢您提出了一个充满希望的好​​建议

1 个答案:

答案 0 :(得分:3)

因为, jQuery DatePicke r尚未提供支持时间的功能(我猜)我们需要以手动方式执行此操作。

您可以使用jQuery DatePicker的beforeShow options;每次单击 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插件 如果你想要一个更微妙的方法