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

问题描述 投票:1回答:2

我有什么

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

我想要什么

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

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

感谢希望的好建议

javascript jquery jquery-ui datepicker jquery-ui-datepicker
2个回答
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插件如果您想要更精细的方法

0
投票

我需要相同的脚本,但我也需要禁用日期选择器的一天或几天。我有两个脚本,但是找不到同时使用它们的方法。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.