如何使用jquery datepicker将日期添加到日期

我的网站上有两个文本框,用于提取日期和使用jquery日期选择器的下降日期。

我无法将下拉日期值设置为选定的取件日期的前一天。

这是我有的:

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

以上将执行,但是下拉文本框中的值将与拾取值匹配,而不是提前一天。 例如:如果我选择01-01-2010,则上面的代码在下拉框中返回01-01-2010而不是02-01-2010。

有什么想法吗?

谢谢你的帮助,Rich

试试这个:

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

这个答案真的帮助我开始(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. } }); 

datepicker(’setDate’)设置datepicket中的日期而不是输入中的日期。

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

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