jQueryUI Datepicker с двумя полями

0

Я пытаюсь привести в порядок все маленькие буйки на моем веб-сайте, но используя jQuery для всего. Это будет включать использование jQuery UI для datepicker.

Есть два экземпляра datepicker, ArrivalDate и DepartureDate, и мне нужно динамически установить дату отправления на день, следующий за датой, когда пользователь только что ввел как ArrivalDate. т.е. если пользователь выбрал 25 Dec в качестве параметра ArrivalDate, у DepartureDate должно быть 26 декабря по умолчанию, и все даты до 26 декабря должны быть отключены.

Я попробовал помощь нескольких вещей, которые я нашел в StackOverflow и в других местах, но никто из них, похоже, не работает для меня. Это то, что я сейчас имею:

$('#ArrivalDate').datepicker({
minDate: 0,
defaultDate: 0,
dateFormat: "d M yy",
changeMonth: true,
changeYear: true,
onClose: function(dateText, inst){
    var d = $.datepicker.parseDate(inst.settings.dateFormat, dateText);
    d.setDate(d.getDate()+1);
    $('#DepartureDate').val($.datepicker.formatDate(inst.settings.dateFormat, d));
}

}),
$('#DepartureDate').datepicker({
minDate: "d",
defaultDate: "d",
dateFormat: "d M yy",
changeMonth: true,
changeYear: true,
}),

но DepartureDate по-прежнему обрабатывает minDate и defaultDate как "0".

Теги:
datepicker

1 ответ

0

Это можно решить довольно легко, вот рабочая скрипка: http://jsfiddle.net/dwaddell/Q2kkG/

onClose: function (dateText, inst) {
        var d = $.datepicker.parseDate(inst.settings.dateFormat, dateText);
        d.setDate(d.getDate() + 1);
        $('#DepartureDate').val($.datepicker.formatDate(inst.settings.dateFormat, d));
        $('#DepartureDate').datepicker('option', {
            minDate: $.datepicker.formatDate(inst.settings.dateFormat, d)
        });
    }

Также вы можете проверить API здесь http://api.jqueryui.com/datepicker/#method-setDate, вы можете использовать setDate вместо val в строке перед моим изменением. Или, может быть, оба.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню