Jac*_*erd 1 javascript jquery jquery-ui jquery-ui-datepicker
我的页面上有两个jQueryUI日期选择器.
它们的初始化如下:
jQuery("#departureDate").datepicker({
beforeShow: function() {
getDatesForCalendar("outbound");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
hideIfNoPrevNext: true,
onSelect: function(dateText, inst) { jQuery('#returnDate').datepicker("show"); }
});
jQuery("#returnDate").datepicker({
beforeShow: function() {
getDatesForCalendar("return");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
showOn: "focus",
hideIfNoPrevNext: true,
defaultDate: +1
});
Run Code Online (Sandbox Code Playgroud)
在弹出之前,他们使用getDatesForCalendar()检查哪些日期可用,它们不包含应隐藏或显示日历的代码.
我的问题是,当第一个日历调用第二个日历时(这是onSelect),第二个日历闪烁一秒钟然后消失.这是一个仅限FF/Chrome的问题,它似乎不会影响IE8.
我已经尝试了很多解决方案,包括更改tabindex(现在根本没有),禁用焦点功能上的节目,最后不是手动调用datepicker("show")我尝试调用focus()它与之相关.什么都没有奏效!
任何意见将大大赞赏.
非常感谢,
插口
而不是在onSelect中显示日期选择器使用onClose事件.
jQuery("#departureDate").datepicker({
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
hideIfNoPrevNext: true,
onClose:function()
{
jQuery('#returnDate').datepicker('show');
}
});
jQuery("#returnDate").datepicker({
numberOfMonths:3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
showOn: "focus",
hideIfNoPrevNext: true,
defaultDate: +1
});?
Run Code Online (Sandbox Code Playgroud)