0

我有许多包含多个 DatePicker 的页面,基本上显示了一些日期范围(DateTo 和 DateFrom 文本框),一旦第一次打开 DatePicker 并选择了日期,它们就可以正常工作。

但是,当通过再次单击日期来更改下一次日期时(此单击也可以在单击页面上的其他位置之后),它不起作用。再次第三次,日期选择器开始工作,依此类推。

有趣的是,具有单个 DatePicker 用于自定义日期过滤器的页面,它们工作得非常好。

我查看了JQuery UI 1.8.5的代码,发现DatePicker的_selectDay函数也是交替调用的。

我正在使用 JQuery 1.4.1 版本,并进行了小改动以修复 JQuery Bug 11390/7986

// jQuery.boxModel DEPRECATED in 1.3, use jQuery.support.boxModel instead
jQuery.boxModel = jQuery.support.boxModel = (document.compatMode === "CSS1Compat");

我删除了这个修复程序,发现问题仍然存在,所以它似乎不是问题。

我正在使用 DatePicker,如下所示:

           <ul id="customActivityRange">        
                    <li class=" slvzr-first-child">
                        <label id="RangeFrom" ></label>
                        <input id="activityFrom" name="activityFrom" class="datepicker"      type="text" onkeydown="javascript:if(event.keyCode==13) setGLDates(2, true);" onchange="javascript:setGLDates(2, false);" />
                    </li>
                    <li>
                        <label id="RangeTo"></label>
                        <input id="activityTo" name="activityTo" class="datepicker" type="text" onkeydown="javascript:if(event.keyCode==13) setGLDates(2, true);" onchange="javascript:setGLDates(2, false);" />
                    </li>
                    <li>
                        <button id="FilterDateRange" type="button" onclick="javascript:setGLDates(2, true);"></button>
                    </li>
                </ul>

将 DatePicker 与每个输入文本框相关联,如下所示:

$('.datepicker').each(function () {
    $(this).datepicker();
});
4

1 回答 1

1

尝试使用 jQuery Datepicker 事件而不是 javascript 事件

请查看此链接以获取 API 帮助

http://api.jqueryui.com/datepicker/#option-onClose

于 2012-12-19T11:29:30.117 回答