Я использую событие onSelect
, чтобы установить минимальное значение EndDate
, равное значению, установленному как StartDate
.У меня один и тот же код на нескольких страницах, но на одной из них он не работает.Если я выбираю значение в StartDate
, средство выбора даты не отображается, когда я вхожу в поле EndDate
.Страницы загружаются и обрабатываются с помощью ajax.
Мой код выглядит следующим образом:
$(document).ready(function() {
$("#strStartDate").datepicker({
dateFormat: 'dd/mm/yy',
constrainInput: true,
firstDay: 1,
hideIfNoPrevNext: true,
onSelect: function(){
$("#strEndDate").datepicker( "option", "minDate", $("#strStartDate").val());
}
});
$("#strEndDate").datepicker({
dateFormat: 'dd/mm/yy',
constrainInput: true,
firstDay: 1,
hideIfNoPrevNext: true
});
});
Любая помощь очень ценится.Заранее спасибо.
Используя идеи ваших комментариев, мне удается сделать почти то, что я хочу
$("#strStartDate").datepicker({
dateFormat: 'dd/mm/yy',
constrainInput: true,
firstDay: 1,
hideIfNoPrevNext: true,
});
$("#strEndDate").datepicker({
dateFormat: 'dd/mm/yy',
constrainInput: true,
firstDay: 1,
hideIfNoPrevNext: true,
beforeShow: function (input, inst) {
inst.settings.minDate = $("#strStartDate").val();
}
});
Приведенный выше код запрещает пользователю указывать дату окончания меньше даты началаоднако, если в дате окончания уже было значение, и вы изменили дату начала на значение, большее, чем дата окончания, она должна установить дату окончания равной дате начала.Это то, что я пытался сделать с помощью приведенного ниже кода в моем раннем коде
onSelect: function(){
$("#strEndDate").datepicker( "option", "minDate", $("#strStartDate").val());
}
Есть идеи, как сделать это, используя экземпляр и не инициализировать снова?