页面上的多个日期选择器 - 处理备用点击(1,3,5 ...)

时间:2012-12-19 11:04:55

标签: jquery jquery-ui datepicker jquery-ui-datepicker

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

但是当再次单击日期来更改下一个时间日期时(此单击也可以在单击页面上的其他位置后),它不起作用。再次第三次,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();
});

1 个答案:

答案 0 :(得分:1)

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

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

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