2010-01-07 92 views
24

的日期我有我的网站上取货日期2个文本框和落日期都使用jQuery日期选择器。如何增加一天到使用jQuery日期选择器

我无法设定送机日期值要提前选择了皮卡日期一天。

以下是我有:

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

以上将执行,但在落客文本框中的值将启动值匹配而不是提前一天。例如:如果我选择01-01-2010,上面的代码将在01-01-2010的退出框中而不是02-01-2010返回。

有什么想法?

感谢您的帮助, 丰富

回答

63

试试这个:

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

感谢您的。工作过一段时间:) – 2010-01-07 17:08:15

+3

上面的作品也适合我。但为什么第2行中的“+ 1d”部分?我从第二行删除了“+ 1d”,它也起作用。 – thd 2011-08-06 18:00:00

+0

伟大的解决方案,尝试了10种其他方式来在JavaScript中增加日期,并没有工作。 – mircea 2013-11-30 17:23:55

4

的日期选择器( '的setDate')将在datepicket日起,不得在输入。

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

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

我有之前,但是当我用它仅将输出如'Sun Jan 17 2010 00:00:00 GMT + 0000(GMT标准时间)',而不是'17 -01-2010',即使我指定了dateformat选项。很奇怪。感谢您的帮助。 – 2010-01-07 17:09:19

7

这个答案真的帮了我上手(小白) - 但我遇到了一些奇怪的行为,当我设定的2014年12月31日开始日期,并添加+1到默认的结束日期。而不是给我结束日期01/01/2015我得到02/01/2015(!!!)。该版本解析开始日期的组件以避免这些年末的怪异事件。


$("#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. 

    } 

}); 
+0

这个答案适合我。接受的答案不起作用。猜猜这取决于datepicker的版本?无论如何,谢谢你! – 2016-08-06 01:07:35

相关问题