2016-07-08 7 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ここで回答されているが、あなたはそれを読みたいいけない場合。そして、あなたはその後NEWDATEは、現在の日プラス追加したものですさらに1日を持っています。この

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

にこの

var newDate = new Date(ev.date); 

を変更する必要があります。

+0

私は 'newDate.setDate(newDate.getDate()+ 1);'あなたが言及した行の下にあります。 – JeremyE

+0

私は知っているが、newDateはinitiliazeが間違っていたのでnullにする必要があります.'newDate.setDate(newDate.getDate()+ 1);しようとすると、newdDateにnull + 1を設定する必要があります。 'var newDate = new Date(ev.date);で' –

関連する問題