Взгляните на мой ответ здесь - JQuery datepicker- 2 inputs/textboxes and restricting range
Один из способов сделать это было бы использовать beforeShow
свойство ограничивать значение во втором DatePicker. В качестве альтернативы, определите обработчик onSelect
, который обновляет второй вход, когда дата выбрана в первом.
Working DemoПримечание: это основано на jQuery DatePicker и не Keith Woods'.
EDIT:
Как указаны на datepick plugin page -
Этот плагин формирует основу для JQuery UI Datepicker. Сделано доступным в виде отдельного плагина с команда пользовательского интерфейса желала упростить функциональность для их версии.
Таким образом, код, основанный на пользовательском интерфейсе jQuery, будет работать с датпикером Кейта.
код из демо
$(function()
{
$('#txtStartDate, #txtEndDate').datepicker(
{
showOn: "both",
dateFormat: "dd M yy",
onSelect: insertOtherDate,
firstDay: 1,
changeFirstDay: false
});
});
function insertOtherDate(value, date, inst) {
var firstDate = new Date(value);
var datepickerInput = (date.id === 'txtStartDate') ? 'txtEndDate' : 'txtStartDate';
var dateAdjust = (date.id === 'txtStartDate') ? 1 : -1;
var secondDate = new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + dateAdjust);
$('#' + datepickerInput).datepicker('setDate', secondDate);
}
диапазон между startDate и endDate не всегда может быть 1. Причина, что startDate и endDate имеют minDate и maxDate. Когда выбран endDate, startDate не может измениться на «endDate - 1», а startDate может быть таким же, как и раньше. когда выбран startDate, endDate должен измениться на «startDate + 1», поэтому как это сделать Большое спасибо – Jason
Если я правильно понял вас, endDate должен быть на 1 день больше, чем startDate, но не должен превышать установленный maxDate для endDate. Аналогично, startDate должен быть на 1 день меньше, чем endDate, но не раньше, чем minDate, определенный для startDate. Это верно? Если нет, вам нужно уточнить, что такое диапазон между startDate и endDate. –
Что происходит, когда endDate выбирается перед startDate? –