AnyTime日期选择器中的日期范围出错

时间:2014-07-08 09:24:21

标签: jquery anytime

我已经设法在AnyTime中拼凑了一些数据范围选择器的代码:

$(document).ready(function() {
    $("#date_start").AnyTime_noPicker().removeAttr("disabled").AnyTime_picker({format:"%Y-%m-%d",earliest:new Date(2000,0,1,0,0,0)});
    $("#date_end").AnyTime_noPicker().removeAttr("disabled").AnyTime_picker({format:"%Y-%m-%d",earliest:new Date(2000,0,1,0,0,0)});
    var rangeFormat = "%Y-%m-%d";
    var rangeConv = new AnyTime.Converter({format:rangeFormat});
    var oneDay = 60*1*1000;
    $("#date_start").change( function() {
        var fromDay = rangeConv.parse($("#date_start").val()).getTime();
        var ToDay = rangeConv.parse($("#date_end").val()).getTime();
        if (fromDay > ToDay) {
            var ninetyDaysLater = new Date(fromDay + oneDay);
            $("#date_end").AnyTime_noPicker().removeAttr("disabled").val(rangeConv.format(ninetyDaysLater)).AnyTime_picker({
                earliest: ninetyDaysLater,
                format: rangeFormat
            });
        }
    });
    $("#date_end").change( function() {
        var fromDay = rangeConv.parse($("#date_end").val()).getTime();
        var ToDay = rangeConv.parse($("#date_start").val()).getTime();
        if (fromDay < ToDay) {
            var ninetyDaysLater = new Date(fromDay - oneDay);
            $("#date_start").AnyTime_noPicker().removeAttr("disabled").val(rangeConv.format(ninetyDaysLater)).AnyTime_picker({
                earliest: ninetyDaysLater,
                format: rangeFormat
            });
        }
    });
});

...具有以下HTML元素:

<label for="date_start">Start Date of Event</label>
<input type="text" name="date_start" value="" id="date_start" />
<label for="date_end">End Date of Event</label>
<input type="text" name="date_end" value="" id="date_end" />

然而,它给了我错误,我不知道为什么。

在其他网站和我能找到的少数教程中倾注了类似的代码,我看不出代码有什么问题。

当我点击第一个日期字段时,我遇到了一系列错误:

  

不是“%Y-%m-%d”格式

...在AnyTime本身的代码(anytime.5.0.1-1403131246.js)中,第971行出现两次,然后在同一文件中为同一行组合三个。单击第二个字段时出现相同的错误。但在那之后,代码开始起作用。

因为我无法在我的代码中隔离源代码,所以我只是不知道从哪里开始(我正在使用jQuery的学习模式)。

1 个答案:

答案 0 :(得分:0)

最后,解决方案很简单;我不得不用字段填充字段。

在这种情况下:

  

&#34; DATE_START&#34; =日期(&#34; Y-m-d&#34;)

     

&#34; DATE_END&#34; =日期(&#34; Y-m-d&#34;,strtotime(&#34; +1天&#34;))

简单。

相关问题