jquery日期选择器-选择时激活另一个日期选择器
jquery datepicker - activate another datepicker on select
我有两个jquery日期选择器来选择日期范围。
一旦我选择了起始日期(从第一个日期选择器),我想激活第二个日期选择器。
下面的代码可以做到这一点,但由于某种原因,会立即关闭日期选择器。
有什么想法吗?-http://jsfiddle.net/rN4zu/
From <input type="text" id="dateFrom" />
To <input type="text" id="dateTo" />
jQuery
$( "#dateFrom" ).datepicker({
minDate: 0,
maxDate: "+2Y",
showWeek: true,
weekHeader: 'Wk',
onSelect: function( selectedDate ) {
$( "#dateTo" ).datepicker("option", "minDate", selectedDate ).focus();
}
});
$( "#dateTo" ).datepicker({
maxDate: "+2Y",
showWeek: true,
weekHeader: 'Wk'
});
http://jsfiddle.net/8YTKR/
这个问题与命令之间的冲突有关。set min date命令和.focus
同时发生,这导致了问题。
好的,所以首先.focus
不是触发日期选择器的首选方式。首选的方法是使用数据选择器显示方法,该方法看起来像.datepicker('show');
。所以在这个例子中,我们将使用它。
接下来,我们需要确保'show'
出现在min-date命令之后。由于该命令没有回调,我将使用setTimeout
$( "#dateFrom" ).datepicker({
minDate: 0,
maxDate: "+2Y",
showWeek: true,
weekHeader: 'Wk',
onSelect: function( selectedDate ) {
$( "#dateTo" ).datepicker("option", "minDate", selectedDate );
setTimeout(function(){
$( "#dateTo" ).datepicker('show');
}, 16);
}
});
$( "#dateTo" ).datepicker({
maxDate: "+2Y",
showWeek: true,
weekHeader: 'Wk'
});
为什么你说16毫秒?因为这是在屏幕上没有显示的情况下可能出现的最长延迟。由于这个原因,16ms是默认的jquery动画间隔。
$( "#dateTo" ).datepicker("option", "minDate", selectedDate ).focus(0);
我的建议是允许用户在任一日期选择器中选择他们想要的任何日期,然后在选择日期后对两个文本框进行验证。
从第一个日期选择器的值设置第二个日期选择器中的日期范围的问题是,如果用户意外选择了7月21日,那么第二个时间选择器将从7月21号开始,但当他们将第一个日期选取器更改为7月1日时,第二个日期选取器将停留在7月21日期之后的日期
相关文章:
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- 正在搜索JavaScript日期选择器滑块
- 如何在多个jQueryUI日期选择器中屏蔽特定日期
- jquery日期选择器显示与值不同的文本
- JQuery UI日期选择器:在选择出发日期时自动弹出返回日期
- Angular UI启动日期选择器问题
- 奇怪的日期选择器行为,与模糊有关
- 我希望这个日期选择器可以从1990年到2000年之间的年份中选择日期
- keith wood日期选择器日期格式和语言
- 在日期更改后更新Angular UI引导程序日期选择器选项
- Jquery UI日期选择器不关注输入
- Javascript两个日期选择器冲突
- 动态添加的标记不会'无法正确使用日期选择器
- 日期选择器无法使用javascript显示
- AngularJS自定义日期选择器指令
- 他们网站上的代码出现启动日期选择器错误
- 从第一个日期选择器定义第二个日期选择器的开始日期
- 更改日期选择器格式
- 带有推特助推器的日期选择器出现了,但没有't更改日期