2010-01-07 131 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

相關問題