jQueryUI datepicker - 当调用show()时,第二个实例闪烁然后消失

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()它与之相关.什么都没有奏效!

任何意见将大大赞赏.

非常感谢,

插口

mut*_*thu 8

而不是在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)