Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery DatePicker只显示一个日期_Javascript_Jquery_Knockout.js_Datepicker_Disabled Control - Fatal编程技术网

Javascript JQuery DatePicker只显示一个日期

Javascript JQuery DatePicker只显示一个日期,javascript,jquery,knockout.js,datepicker,disabled-control,Javascript,Jquery,Knockout.js,Datepicker,Disabled Control,我在表单上有一个日期选择器,它是用击倒JS构建的。 它直到最近才开始工作,但现在不行了 当你点击图标打开日期选择器时,它只显示一个月:2021年6月,甚至不允许你离开这个月。这适用于表单上的所有日期字段 下面是一个屏幕截图: 谷歌Chrome和Firefox的最新版本都出现了这种情况。 使用Firefox中的Firebug,我可以看到页面上没有JavaScript错误 以下是Firebug中显示的两个表格行的HTML,一个是开始“开始日期”,另一个是开始“打开条目”: <tr>

我在表单上有一个日期选择器,它是用击倒JS构建的。 它直到最近才开始工作,但现在不行了

当你点击图标打开日期选择器时,它只显示一个月:2021年6月,甚至不允许你离开这个月。这适用于表单上的所有日期字段

下面是一个屏幕截图:

谷歌Chrome和Firefox的最新版本都出现了这种情况。 使用Firefox中的Firebug,我可以看到页面上没有JavaScript错误

以下是Firebug中显示的两个表格行的HTML,一个是开始“开始日期”,另一个是开始“打开条目”:

<tr>
    <th>Start Date</th>
    <td data-bind="text: niceDate(StartDate())">05-03-2016 00:00:00</td>
    <th>Finish Date</th>
    <td data-bind="text: niceDate(FinishDate())">06-03-2016 00:00:00</td>
</tr>

<tr class="entries-open">
    <th>
        <label>Entries Open</label>
    </th>
    <td>
        <input id="dp1452774306035" maxlength="9" size="10" name="ko_unique_20" class="jq-date hasDatepicker" data-bind="value: niceDate(EntriesOpen()), uniqueName: true" data-field="EntriesOpen" type="text">
    <img title="..." alt="..." src="/asp-net/protected/events/admin/calendar_icon.gif" class="ui-datepicker-trigger"></td>
    <th>
        <label>Late Entry Surcharge Date</label>
    </th>
    <td>
        <input id="dp1452774306036" maxlength="9" size="10" name="ko_unique_21" class="jq-date hasDatepicker" data-bind="value: niceDate(EntriesClose()), uniqueName: true" data-field="EntriesClose" type="text">
    <img title="..." alt="..." src="/asp-net/protected/events/admin/calendar_icon.gif" class="ui-datepicker-trigger"></td>
</tr>
[编辑]

  • 为了确认,这是jQueryUI日期选择器。我在用 版本1.8.9,但我尝试升级到jQueryUI1.11.4,但是 这并没有解决问题。我正在使用jquery1.6.1。虽然不是最新的版本,但由于它在整个站点上使用,因此需要进行更多的更新工作

  • 我尝试过不同的日期格式——以及原始格式 “DD-MM-YYYY HH:MM:ss”,我也尝试过:

    • “DD-MM-YYYY”
    • “年月日”
    • “年月日HH:MM:ss”
    • 对于美式“MM-DD-YYYY”日期重复
    • 原始JSON日期格式:2016-03-05T00:00:00
    这些都没有产生任何影响

  • datepicker中的所有元素在显示时都有“ui state disabled”类,这可以解释为什么它不会对鼠标单击来更改日期做出反应,但不会解释为什么它首先被禁用

  • [编辑2] 虽然至少12个月没有改变,但似乎部分原因是
    数据字段=“EntriesOpen”
    。删除此标记将正确显示现有日期,并使日期选择器工作

    当然,这有一个陷阱。Knockout使用
    数据字段
    属性跟踪哪些字段已更改。如果没有此属性,当我单击按钮保存更改时,如果我所做的只是更改日期,则会告诉您我没有更改表单


    谢谢你的帮助

    2016-03-18T00:00:00
    可以解析,
    05-03-2016 00:00:00
    我认为05-03-2016 00:00:00格式日期只显示,没有解析,所以函数niceDate可能有问题。是吗?不,不是那个。niceDate脚本是一个本地编码的脚本,它使用moment.js()以如下形式返回日期:矩(dt).format(“DD-MM-YYYY HH:MM:ss”);它错误地返回了时间(从上面的格式注释中可以看出),但我现在已经修复了它,没有任何区别。日期选择器仍停留在2021年6月,我还尝试将日期更改为US MM-DD-YYYY格式,但也没有任何区别:-(
    2016-03-18T00:00:00
    可以解析,
    05-03-2016 00:00:00
    我认为不会只显示05-03-2016 00:00:00格式的日期,不会解析,所以函数niceDate可能会有问题。是吗?不是,不是那个。niceDate脚本是本地编码的,使用矩.js()以这种形式返回日期:矩(dt).format(“DD-MM-YYYY HH:MM:ss”);返回的时间不正确(从上面的格式注释可以看出)但我现在已经解决了这个问题,没有任何区别。日期选择器仍然停留在2021年6月。我还尝试将日期更改为US MM-DD-YYYY格式,但也没有任何区别:-(
    "StartDate": "2016-03-18T00:00:00",
    "FinishDate": "2016-03-20T00:00:00",
    "BallotDate": "2016-02-26T00:00:00",
    "EntriesOpen": "2016-02-12T00:00:00",
    "EntriesClose": "2016-03-08T00:00:00",