how to add a day to a date using jquery datepicker

Viewed 125359

I have 2 textboxes on my site for pickup date and drop off date both using the jquery date picker.

I am having trouble setting the drop off date value to be one day ahead of the pickup date that was selected.

Here is what I have:

$('.pickupDate').change(function() {
    var date2 = $('.pickupDate').datepicker('getDate', '+1d'); 
    $('.dropoffDate').datepicker('setDate', date2);
});

The above will execute but the value in the drop off textbox will match the pickup value instead of being one day ahead. eg: if I select 01-01-2010 the above code returns 01-01-2010 in the drop off box instead of 02-01-2010.

Any thoughts?

Thanks for your help, Rich

4 Answers

Try this:

 $('.pickupDate').change(function() {
  var date2 = $('.pickupDate').datepicker('getDate', '+1d'); 
  date2.setDate(date2.getDate()+1); 
  $('.dropoffDate').datepicker('setDate', date2);
});

The datepicker('setDate') sets the date in the datepicket not in the input.

You should add the date and set it in the input.

var date2 = $('.pickupDate').datepicker('getDate');
var nextDayDate = new Date();
nextDayDate.setDate(date2.getDate() + 1);
$('input').val(nextDayDate);
var today = new Date();
date = today.getDate() >= 10 ? `${today.getDate()}` : `0${today.getDate()}`;
month = today.getMonth()+1 >= 10 ? `${today.getMonth()+1}` : `0${today.getMonth()+1}`;
year = `${today.getFullYear()}`;
$('#datepicker_input_id').attr('value', `${month}/${date}/${year}`);
Related