Javascript jQuery UI日期选择器-为什么第二个日期选择器在焦点上消失?
我有两个Javascript jQuery UI日期选择器-为什么第二个日期选择器在焦点上消失?,javascript,jquery,jquery-ui,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Jquery Ui Datepicker,我有两个input元素用作jqueryui日期选择器。在第一个datepicker元素上进行选择后,它应自动聚焦于第二个datepicker元素并显示日历,从而允许您轻松快速地进行选择 无论出于什么原因,第二个日期选择器/日历出现了一会儿,然后消失了。我不知道为什么它正在消失;有人能给我解释一下为什么它会消失,以及一个可能的解决方案吗 目前正在使用以下库:jQuery 1.8.3、jQuery UI 1.9.2 以下是我当前使用的代码: <ul class="fields">
input
元素用作jqueryui日期选择器。在第一个datepicker元素上进行选择后,它应自动聚焦于第二个datepicker元素并显示日历,从而允许您轻松快速地进行选择
无论出于什么原因,第二个日期选择器/日历出现了一会儿,然后消失了。我不知道为什么它正在消失;有人能给我解释一下为什么它会消失,以及一个可能的解决方案吗
目前正在使用以下库:jQuery 1.8.3、jQuery UI 1.9.2
以下是我当前使用的代码:
<ul class="fields">
<li><label>Date picker #1</label>
<input type="text" class="date-picker-1" />
</li>
<li><label> Date picker #2</label>
<input type="text" class="date-picker-2" />
</li>
</ul>
$('input.date-picker-1').datepicker({
constrainInput: true,
hideIfNoPrevNext: true,
onSelect: function () {
$(this).closest('.fields')
.find('.date-picker-2').datepicker('show');
}
});
$('input.date-picker-2').datepicker({
onFocus: 'show'
});
- 日期选择器#1
- 日期选择器#2
$('input.date-picker-1').datepicker({
输入:对,
hideIfNoPrevNext:没错,
onSelect:function(){
$(this).最近(“.fields”)
.find('.date-picker-2').datepicker('show');
}
});
$('input.date-picker-2').datepicker({
onFocus:“秀”
});
这是一把小提琴:
如果有任何其他信息有帮助,请随时询问,我很乐意提供帮助。正因为如此
$(this).closest('.fields')
.find('.date-picker-2').datepicker('show');
你可以用
window.setTimeout(function(){
$('.date-picker-2').datepicker('show');
}, 1);
这似乎是一个焦点时间问题,快速解决方法是使用一个小的超时:
$('input.date-picker-1').datepicker({
constrainInput: true,
hideIfNoPrevNext: true,
onSelect: function () {
var dees = $(this);
setTimeout(function() {
dees.closest('.fields').find('.date-picker-2').datepicker('show');
}, 100);
}
});
请参见2019年8月的今天,我们发行了同样的版本。您可以使用onClose方法修复此问题。启用选项changeMonth或changeYear时会出现另一个问题,但已通过onChangeMonthYear解决
$(函数(){
$from=$(“#from”);
$to=$(“#to”);
$from.datepicker({
onClose:function(){
$to.datepicker('show');
}
});
$to.datepicker({
变化月:对,
变化年:是的,
onChangeMonthYear:函数(年、月){
$to.datepicker('setDate',新日期(年,月1,1));
}
});
})
我们需要在一段时间后打开它,这对我来说在IE、Chrome、Firefox和Safari中都有效。谢谢你,尼尔森。您知道这是否是eventsonfocus
的常见问题吗?这可能是jquery ui datepicker代码中的某个错误/角落,需要花费一些时间调试datepicker才能找到确切的错误,因此,如果你不想把时间花在这上面,那么超时解决方法是一种简单的方法,我将继续使用它。我会花一些时间来寻找bug,但现在必须在截止日期前完成!谢谢你的解决方案。好吧,你可以在jqueryui问题跟踪器中报告它,这样也许其他人可以处理它,如果你这样做了,请回到这里粘贴链接,因为当我有更多时间时,我也可以尝试一下。非常感谢。这真的帮了我很大的忙