how to add a day to a date using jquery datepicker

Ric*_*ddy 26 jquery jquery-ui datepicker

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);
});
Run Code Online (Sandbox Code Playgroud)

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

Vin*_*nie 69

试试这个:

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

  • 以上也适合我.但为什么第2行的"+ 1d"部分呢?我从第二行删除了"+ 1d",它也可以. (4认同)

小智 8

这个答案真的帮助我开始(noob) - 但是当我设置开始日期为2014年12月31日并且添加+1以默认结束日期时,我遇到了一些奇怪的行为.而不是给我一个2015年1月1日的结束日期,我得到了2015年1月1日(!!!).此版本解析开始日期的组件以避免这些年终怪异.


 $( "#date_start" ).datepicker({

   minDate: 0,
   dateFormat: "mm/dd/yy",

   onSelect: function(selected) {
         $("#date_end").datepicker("option","minDate", selected); //  mindate on the End datepicker cannot be less than start date already selected.
         var date = $(this).datepicker('getDate');
         var tempStartDate = new Date(date);
         var default_end = new Date(tempStartDate.getFullYear(), tempStartDate.getMonth(), tempStartDate.getDate()+1); //this parses date to overcome new year date weirdness
         $('#date_end').datepicker('setDate', default_end); // Set as default                           
   }

 });

 $( "#date_end" ).datepicker({

   minDate: 0,
   dateFormat: "mm/dd/yy",

   onSelect: function(selected) {
     $("#date_start").datepicker("option","maxDate", selected); //  maxdate on the Start datepicker cannot be more than end date selected.

  }

});
Run Code Online (Sandbox Code Playgroud)


Dan*_*ura 5

datepicker('setDate')设置日期戳中未输入的日期。

您应该添加日期并将其设置在输入中。

var date2 = $('.pickupDate').datepicker('getDate');
var nextDayDate = new Date();
nextDayDate.setDate(date2.getDate() + 1);
$('input').val(nextDayDate);
Run Code Online (Sandbox Code Playgroud)