Ответ 1
Здесь jsfiddl e. Это рабочий пример вашей проблемы.
HTML
<input type="text" id="dt1">
<input type="text" id="dt2">
JS
$(document).ready(function () {
$("#dt1").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function () {
var dt2 = $('#dt2');
var startDate = $(this).datepicker('getDate');
//add 30 days to selected date
startDate.setDate(startDate.getDate() + 30);
var minDate = $(this).datepicker('getDate');
//minDate of dt2 datepicker = dt1 selected day
dt2.datepicker('setDate', minDate);
//sets dt2 maxDate to the last day of 30 days window
dt2.datepicker('option', 'maxDate', startDate);
//first day which can be selected in dt2 is selected date in dt1
dt2.datepicker('option', 'minDate', minDate);
//same for dt1
$(this).datepicker('option', 'minDate', minDate);
}
});
$('#dt2').datepicker({
dateFormat: "dd-M-yy"
});
});
Как уже упоминалось в soderslatt, используйте параметр onSelec t для установки дат. Другие методы, которые я использовал:
Я думаю, что они все сами объясняют, и документация помогает вам понять, как они работают. Если вы хотите установить дату второго datepicker на дату dt1 + 1 день, сделайте то же самое, что и в этой строке:
startDate.setDate(startDate.getDate() + 30);
Но, конечно, добавьте 1 день, а не 30.