从第一个日期选择器定义第二个日期选择器的开始日期
Define start date of second date picker from first date picker
我正在开发两个引导日期选择器,一旦用户单击第一个日期选择器上的任何日期,第二个日期选择器的开始日期应该是在第一个日期拾取器中选择的日期,在此之前,所有日期都应被禁用。
但我肯定走错了路,我想不通。变量diffDays的值没有反映在第二个日期选择器的startDate字段中,因此开始日期没有反映在第一个日期选择器中。
以下是代码:
function checkDate(startDate) {
var oneDay = 24 * 60 * 60 * 1000;
var res = startDate.value.split("/");
var firstDate = new Date(res[2], res[1] - 1, res[0]);
var todayFullDate = new Date();
var diffDays = Math.round(Math.abs((firstDate.getTime() - todayFullDate
.getTime())
/ (oneDay)));
$('#date2').datepicker({
startDate: '+'+diffDays+'d'
});
}
$(function() {
$('#date1').datepicker({
format : "dd/mm/yyyy",
required : true,
});
$("#register-form").validate({
rules : {
date1 : "required"
},
messages : {
date1 : "Please enter a valid date"
},
submitHandler : function(form) {
form.submit();
}
});
});
您可以使用随插件一起提供的简单methods
和options
,如下所示:
changeDate
、setStartDate
和setEndDate
是您需要利用的三个重要内容。
changeDate
是一个event
,它是fired when the date is changed
。
setStartDate
和setEndDate
是分别为datepickers
设置startdate
和enddate
的两种方法。您需要将changeDate
事件附加到datepickers
,并为相应的datepickers
设置相应的开始和结束日期,如下所示
$('.start').datepicker({
autoclose:true
}).on('changeDate',function(e){
//on change of date on start datepicker, set end datepicker's date
$('.end').datepicker('setStartDate',e.date)
});
$('.end').datepicker({
autoclose:true
}).on('changeDate',function(e){
//on change of date on end datepicker, set start datepicker's date
//e.date will have selected date value.
$('.start').datepicker('setEndDate',e.date)
})
DEMO HERE
相关文章:
- jquery日期选择器年份范围默认值
- jquery日期选择器失去了交互性
- 正在搜索JavaScript日期选择器滑块
- 如何在多个jQueryUI日期选择器中屏蔽特定日期
- jquery日期选择器显示与值不同的文本
- JQuery UI日期选择器:在选择出发日期时自动弹出返回日期
- Angular UI启动日期选择器问题
- 奇怪的日期选择器行为,与模糊有关
- 我希望这个日期选择器可以从1990年到2000年之间的年份中选择日期
- keith wood日期选择器日期格式和语言
- 在日期更改后更新Angular UI引导程序日期选择器选项
- Jquery UI日期选择器不关注输入
- Javascript两个日期选择器冲突
- 动态添加的标记不会'无法正确使用日期选择器
- 日期选择器无法使用javascript显示
- AngularJS自定义日期选择器指令
- 他们网站上的代码出现启动日期选择器错误
- 从第一个日期选择器定义第二个日期选择器的开始日期
- 更改日期选择器格式
- 带有推特助推器的日期选择器出现了,但没有't更改日期