【问题标题】:JQuery datepicker min date not changing when using JavaScript setInterval()使用 JavaScript setInterval() 时 JQuery datepicker min date 不变
【发布时间】:2016-07-29 14:05:24
【问题描述】:

所以我需要将日期选择器的最小日期更改为从今天起 +2 天,而不是一天。但是我需要在每天下午 4 点进行更改。该脚本每 10 秒运行一次,所以场景应该是这样的。 15:59:50,可以选择的最小日期是明天,16:00:00 可以选择的最小日期是后天。

这是我的代码:

    var date1 = new Date();
                    date1.setHours(16,00,0,0);

         $( ".datepicker" ).datepicker({dateFormat: 'yy-mm-dd', minDate:1});

            window.setInterval(function(){
                 var now = new Date();
                if(now.getTime() >= date1.getTime()){
                alert("Greater or equal to");
                $( ".datepicker" ).datepicker({dateFormat: 'yy-mm-dd', minDate:2});
                }
            }, 10000);

所以当当前时间实际上大于或等于 16:00:00 时,警报开始每 10 秒显示一次,但 datepicker 最小日期不会改变。另外,如果我刷新页面,则最小日期会从今天更改为 +2 天。谁能解释一下为什么会这样?

【问题讨论】:

    标签: javascript jquery date datepicker setinterval


    【解决方案1】:

    尝试使用此方法

    $('.datepicker').datepicker('option', 'minDate', 2);
    

    【讨论】:

    • 成功了,谢谢!你知道为什么它不起作用吗?
    • 很好,乐于助人
    • "你知道它为什么不工作吗?" - 因为当你调用 datepicker({options}) 时它会创建一个新的日期选择器,但是你的第二个调用已经有一个日期选择器所以什么都没有为它创建 - 它不会更新为 {options}。您需要使用此答案中的语法在已经存在的日期选择器上设置选项。
    猜你喜欢
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    相关资源
    最近更新 更多