2016-07-08 151 views
0

我正在創建預訂小部件,並且希望在抵達日期後的1天內設置「出發日期」。這是我到目前爲止,但由於某種原因,它顯示相同的日期,而不是第二天。jQuery Datepicker - 設置抵達日期後1天的出發日期

jQuery(document).ready(function() { 
    var nowTemp = new Date(); 
    var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0); 
    var checkin = jQuery('#arrivalDate').fdatepicker({ 
     onRender: function (date) { 
      return date.valueOf() < now.valueOf() ? 'disabled' : ''; 
     } 
    }).on('changeDate', function (ev) { 
     if (ev.date.valueOf() > checkout.date.valueOf()) { 
      var newDate = new Date(ev.date); 
      newDate.setDate(newDate.getDate() + 1); 
      checkout.update(newDate); 
     } 
     checkin.hide(); 
     jQuery('#departureDate')[0].focus(); 
    }).data('datepicker'); 
    var checkout = jQuery('#departureDate').fdatepicker({ 
     onRender: function (date) { 
      return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : ''; 
     } 
    }).on('changeDate', function (ev) { 
     checkout.hide(); 
    }).data('datepicker'); 
}); 

回答

0

這個問題已經在這裏回答了Incrementing a date in JavaScript但是如果你不想讀它。然後,你應該改變這種

var newDate = new Date(ev.date); 

這個

var newDate = new Date(ev.getDate() + 1); 

然後newDate將當天加上一個額外的一天,是你添加的一個。

+0

我有'newDate.setDate(newDate.getDate()+ 1);'就在你提到的那一行下面。 – JeremyE

+0

我知道,但newDate應該爲null,因爲它不正確initiliaze所以當你嘗試'newDate.setDate(newDate.getDate()+ 1);'你說newdDate應該設置爲null加1,錯誤是在'var newDate = new Date(ev.date);'中 –

相關問題