我正在使用jQuery UI的范围日期选择器。选择“从日期”时,我想自动打开“迄今为止”的日期选择器。所以,我调用.datepicker(“show”)。 “迄今为止”的选择器正在显示一秒钟并立即逐渐消失。令人惊讶的是,如果我转到另一个应用程序,然后返回并专注于浏览器窗口,则会显示“迄今为止”的选择器。 我还尝试添加$('#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
}
});
答案 0 :(得分:0)
外观闪烁的原因是因为在show
完成之前会调用minDate
。这会在显示选择器之前触发beforeShowDay
事件时混淆datepicker。
一个有点hacky的解决方法是延迟调用以显示datepicker。例如,类似下面的内容可行:
onSelect: function( selectedDate ) {
$('#toDate').datepicker( "option", "minDate", selectedDate );
setTimeout(function() { $('#toDate').datepicker("show") }, 50);
}