Ответ 1
Попробуйте следующее:
$('.pickupDate').change(function() {
var date2 = $('.pickupDate').datepicker('getDate', '+1d');
date2.setDate(date2.getDate()+1);
$('.dropoffDate').datepicker('setDate', date2);
});
У меня есть 2 текстовых поля на моем сайте для даты пикапа и даты выхода с использованием набора даты jquery.
У меня возникла проблема с установкой значения даты выключения на один день раньше выбранной даты пикапа.
Вот что у меня есть:
$('.pickupDate').change(function() {
var date2 = $('.pickupDate').datepicker('getDate', '+1d');
$('.dropoffDate').datepicker('setDate', date2);
});
Вышеуказанное будет выполнено, но значение в выпадающем текстовом поле будет соответствовать значению пикапа, а не на один день вперед. например: если я выберу 01-01-2010, вышеуказанный код возвращает 01-01-2010 в выпадающем поле вместо 02-01-2010.
Любые мысли?
Спасибо за вашу помощь, Рич
Попробуйте следующее:
$('.pickupDate').change(function() {
var date2 = $('.pickupDate').datepicker('getDate', '+1d');
date2.setDate(date2.getDate()+1);
$('.dropoffDate').datepicker('setDate', date2);
});
Этот ответ действительно помог мне начать работу (noob) - но я столкнулся с каким-то странным поведением, когда я установил дату начала 12/31/2014 и добавил +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.
}
});
Datepicker ('setDate') устанавливает дату в datepicket не на входе.
Вы должны добавить дату и установить ее на вход.
var date2 = $('.pickupDate').datepicker('getDate');
var nextDayDate = new Date();
nextDayDate.setDate(date2.getDate() + 1);
$('input').val(nextDayDate);