【问题标题】:Error with date range in AnyTime date pickerAnyTime 日期选择器中的日期范围错误
【发布时间】:2014-08-28 23:26:00
【问题描述】:

我已经设法为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 的绿色学习模式)。

【问题讨论】:

    标签: jquery anytime


    【解决方案1】:

    最后,解决方案很简单;我必须用值预先填写字段。

    在这种情况下:

    "date_start" = date("Y-m-d")

    "date_end" = date("Y-m-d", strtotime("+1 day"))

    简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 2021-07-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      相关资源
      最近更新 更多