В основном то, что я пытаюсь сделать, это создать два поля Datepicker. Во-первых, вылетающих дата и второй является возвращение даты. Так, например, если кто-то ищет праздник, который был 5 ночью пребывания, когда они загружены на странице дата будет выглядеть следующим образом:
01/12/2010 | Календарь Иконка 07/12/2010 | Значок календаря
Для вылетающей даты вы сможете выбрать любую дату (дату сегодняшней или любую будущую дату). И когда вы нажали возвращающуюся дату, вы бы только иметь возможность выбрать даты, которые пяти ночей мимо уходящей даты.
Я почти получил эту работу в порядке от чтения различных других статей переполнения стека. Вот код, я использую:
$().ready(function() {
$('.dDate, .rDate').datepicker({
showOn: 'both',
buttonImage: <?=$http?>layout_images/calendar.gif,
buttonImageOnly: true,
beforeShow: customRange,
buttonText: 'Open Calendar',
firstDay: 1,
dateFormat: 'D d M yy',
onSelect: function(date) {
date = $(this).datepicker('getDate');
$('#returningdate').val($.datepicker.formatDate('D d M yy', date));
}
});
});
function customRange(a) {
var b = new Date();
var c = new Date(b.getFullYear(), b.getMonth(), b.getDate());
if (a.id == 'returningdate') {
if ($('.dDate').datepicker('getDate') != null) {
c = $('.dDate').datepicker('getDate');
}
}
return {
minDate: c
}
}
Этот код выполняет следующие действия:
Если я выбираю 01/12/2010 в уходящее поле даты. Он автоматически заполняет возвращающуюся дату с 01/12/2010.
В уходящем поле даты можно выбрать любую дату (дату сегодняшних и больше), и теперь в дате возвращения я не могу выбрать дни перед 01/12/2010.
Но то, что я хочу, чтобы это произошел, когда я выбираю 01/12/2010 в уходящее время, она добавит 5 ночей автоматически и сделать возвращающуюся дату 07.12.2010 и не допускать какие-либо дней до этого должно быть выбрано.
Есть ли простой способ изменить код выше, чтобы работать таким образом?
Большое спасибо,
Квентин Хобсон