我希望在到达日期更新时更新日历中的出发日期,使用JavaScript,添加一天。这是我的代码,但问题是当我更改到达日期时,出发日期保持不变。
function addDate() {
date = new Date();
var month = date.getMonth() + 1;
var day = date.getDate();
var year = date.getFullYear();
if (document.getElementById('startDate').value == '') {
document.getElementById('startDate').value = month + '/' + day + '/' + year;
}
if (document.getElementById('endDate').value == '') {
document.getElementById('endDate').value = month + '/' + (day + 1) + '/' + year;
}
}

<input type="text" id="startDate" style="background-color:#5c677b;height:25px;" name="checkin" placeholder="checkin">
<input type="text" id="endDate" style="background-color:#5c677b;height:25px;" name="checkout" placeholder="checkout">
&#13;
答案 0 :(得分:0)
If(document.getElementById('endDate').value < document.getElementById('startDate').value){ (document.getElementById('endDate').value= If(document.getElementById('startDate').value.addDay(1) }
语法不是很正确,但这就是你想要的。
问题是,当您选择了结束日期时,您并没有告诉它更新。如果选择结束日期然后更改开始日期,则需要比较两者,然后相应地进行调整。
答案 1 :(得分:0)
如果我做对了,你想:
我的解决方案就是这样。首先,你必须通过onchange="changedDate()"
来捕捉事件。然后检查是否为arrivalDate>departureDate
,当为真时获取该日期,最后用下一个更新出发日期。
addDate();
function addDate() {
date = new Date();
var month = date.getMonth() + 1;
var day = date.getDate();
var year = date.getFullYear();
if (document.getElementById('startDate').value == '') {
document.getElementById('startDate').value = month + '/' + day + '/' + year;
}
if (document.getElementById('endDate').value == '') {
document.getElementById('endDate').value = month + '/' + (day + 1) + '/' + year;
}
}
function changedDate(){
var arrivalDate = new Date(document.getElementById('startDate').value) ;
var departureDate = new Date(document.getElementById('endDate').value) ;
if(arrivalDate>departureDate){
var arrDate = new Date();
arrDate.setDate(arrivalDate.getDate()+1);
arrDate.setMonth(arrivalDate.getMonth()+1);
arrDate.setFullYear(arrivalDate.getFullYear());
document.getElementById('endDate').value = arrDate.getMonth() + '/' + arrDate.getDate() + '/' + arrDate.getFullYear();
}
}
&#13;
<input type="text" id="startDate" style="background-color:#5c677b;height:25px;" name="checkin" placeholder="checkin" onchange="changedDate()">
<input type="text" id="endDate" style="background-color:#5c677b;height:25px;" name="checkout" placeholder="checkout">
&#13;