Jquery ui jQuery日期选择器在(“显示”)之后失去焦点

Jquery ui jQuery日期选择器在(“显示”)之后失去焦点,jquery-ui,focus,datepicker,Jquery Ui,Focus,Datepicker,我正在使用jQueryUI的范围日期选择器。选择起始日期时,我想自动打开截止日期选择器。所以,我打电话给datepickershow。最新的选择器将显示一秒钟,并立即消失。令人惊讶的是,如果我转到另一个应用程序,然后返回并关注浏览器窗口,则会显示最新的选择器。 我还尝试添加$toDate.focus;但这没用 $( ".fromDatePicker" ).datepicker({ defaultDate: "+1w", dateFormat: 'dd/mm/yy', al

我正在使用jQueryUI的范围日期选择器。选择起始日期时,我想自动打开截止日期选择器。所以,我打电话给datepickershow。最新的选择器将显示一秒钟,并立即消失。令人惊讶的是,如果我转到另一个应用程序,然后返回并关注浏览器窗口,则会显示最新的选择器。 我还尝试添加$toDate.focus;但这没用

$( ".fromDatePicker" ).datepicker({
    defaultDate: "+1w",
    dateFormat: 'dd/mm/yy',
    altFormat: 'yymmdd',
    altField: "#fromDateFormatted",
    numberOfMonths: 2,
    showOn: "both",
    buttonImage: "images/calender_icon_a1.jpg", 
    buttonText: "open calendar",
    buttonImageOnly: true,
    onSelect: function( selectedDate ) {
        $('#toDate').datepicker( "option", "minDate", selectedDate );
        $('#toDate').datepicker("show");
        //$('#toDate').focus();  //commented cause it's not working
    }
});

之所以会出现闪烁,是因为在minDate结束之前会调用该节目。在显示选择器之前触发beforeShowDay事件时,这会混淆日期选择器

一个有点骇人的解决方法是延迟调用以显示日期选择器。例如,类似于以下内容的操作将起作用:

onSelect: function( selectedDate ) {
    $('#toDate').datepicker( "option", "minDate", selectedDate );
    setTimeout(function() { $('#toDate').datepicker("show") }, 50);
}
在操作中查看此项:。

查看此项是否有帮助: