Javascript 自举日期选择器
嘿,这个问题以前可能被问过,但是我一直没有找到解决办法 我有两个引导日期选择器。根据第一个日期选择,第二个日期应限制为第一个日期+15 我希望反之亦然。当用户首先选择第二个日期时,第一个日期应限制为第二个日期-15 到目前为止,我的代码是:Javascript 自举日期选择器,javascript,jquery,twitter-bootstrap,datepicker,Javascript,Jquery,Twitter Bootstrap,Datepicker,嘿,这个问题以前可能被问过,但是我一直没有找到解决办法 我有两个引导日期选择器。根据第一个日期选择,第二个日期应限制为第一个日期+15 我希望反之亦然。当用户首先选择第二个日期时,第一个日期应限制为第二个日期-15 到目前为止,我的代码是: var nowTemp = new Date(); var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = $('#inputDate1').datepicker({
onRender: function (date) {
return date.valueOf() > now.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
//made changes to condition below
var newDate = new Date(ev.date)
checkout.setValue(newDate);
checkin.hide();
$('#inputDate2')[0].focus();
}).data('datepicker');
var checkout = $('#inputDate2').datepicker({
onRender: function (date) {
//made changes to below line
var after = new Date(checkin.date);
after.setDate(after.getDate() + 14);
if(now.valueOf() > after.valueOf())
{
return (date.valueOf() <= after.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';
}
else if(after.valueOf() > now.valueOf())
{
return (date.valueOf() <= now.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';
}
}
}).on('changeDate', function (ev) {
checkout.hide();
}).data('datepicker');
var nowTemp=新日期();
var now=新日期(nowTemp.getFullYear(),nowTemp.getMonth(),nowTemp.getDate(),0,0,0);
var checkin=$('#inputDate1')。日期选择器({
onRender:函数(日期){
返回日期.valueOf()>now.valueOf()?“已禁用”:“”;
}
}).on('changeDate',功能(ev){
//对以下条件进行了更改
var newDate=新日期(ev.Date)
checkout.setValue(newDate);
checkin.hide();
$('#inputDate2')[0]。焦点();
}).数据(“日期选择器”);
var checkout=$('#inputDate2')。日期选择器({
onRender:函数(日期){
//对以下行进行了更改
var after=新日期(签入日期);
在.setDate之后(在.getDate()之后+14);
if(现在.valueOf()>在.valueOf()之后)
{
返回(date.valueOf()=签入.date.valueOf())?“”:“已禁用”;
}
else if(在.valueOf()之后>现在.valueOf()之后)
{
返回(date.valueOf()=签入.date.valueOf())?“”:“已禁用”;
}
}
}).on('changeDate',功能(ev){
checkout.hide();
}).数据(“日期选择器”);
非常感谢您的帮助。好的,我找到了方法,并在这里粘贴了我的工作代码
$(document).ready(function() {
var nowTemp = new Date();
var end = new Date();
var start;
$('#start').datepicker({
startDate: start,
endDate: end,
autoclose: true
}).on('changeDate', function (e){
var tempdate = new Date(e.date);
var tempdate1 = new Date(e.date);
tempdate1.setDate(tempdate1.getDate() + 15);
$('#end').datepicker('setStartDate', tempdate);
$('#end').datepicker('setEndDate', tempdate1);
});
$('#end').datepicker({
startDate: start,
endDate: end,
autoclose: true
}).on('changeDate', function (e){
var tempdate = new Date(e.date);
var tempdate1 = new Date(e.date);
tempdate1.setDate(tempdate1.getDate() - 15);
$('#start').datepicker('setStartDate', tempdate1);
$('#start').datepicker('setEndDate', tempdate);
});
});
做一个小提琴,我们可以在这方面帮助你…只是一个注意,我不认为onRender是合适的事件。如果你发现一些更有用的东西,请查看文档。