JQuery UI DatePicker диапазон дат выпуска - PullRequest
3 голосов
/ 19 октября 2011

Я сделал два поля даты («раскладка» и «выпадение»).И я хочу убедиться, что:

  1. Дата получения должна быть раньше, чем дата сдачи.

  2. Когда пользователь уже выбрал его идаты получения и позже он изменяет дату получения позже даты сброса, затем скрипт автоматически меняет дату возврата позже, чем выбрал пользователь.(например, пользователь вводит «12/07/2011» в дату получения и «13/07/2011» в дату сдачи, а затем он меняет свою дату получения на «13/08/2011». Если это так, сценарий долженустановите "13/08/2011" в качестве даты выпадения.

Я ссылался на одну из тем на этом сайте. И вот код, который у меня сейчас есть.

  $.datepicker.setDefaults({dateFormat: 'dd/mm/yy'});
  $("#pickup").datepicker({
            onSelect: function(dateText, inst){
              var minDate = $(this).datepicker('getDate');
              $('#dropin').datepicker('destroy').datepicker({
                        minDate: minDate
                    });
             },
            onClose: function(dateText, inst) {
                if(dateText == '') {
                    $('#dropin').val('');
                $('#dropin').datepicker('destroy').datepicker();
                }
             }
            });

            $("#dropin").datepicker();
            var set=$("#dropin").datepicker('getDate');
            alert(set.getDate());

Похоже, что оно удовлетворяет первому. Но я понятия не имею о втором ограничении. И он продолжает утверждать, что 's' равно нулю.

Можете ли вы помочь мнес вопросом? Большое спасибо.

1 Ответ

1 голос
/ 20 октября 2011

Попробуйте что-нибудь вроде этого:

    var date = new Date();
    $.datepicker.setDefaults({
        'dateFormat' : 'yy-mm-dd',
        'onSelect' : function(dateText, inst){
            instance = $(this).data('datepicker'),
            selectedDate = $.datepicker.parseDate(
                instance.settings.dateFormat || $.datepicker._defaults.dateFormat,
                dateText,
                instance.settings
            );
            if (this.id == 'datepicker-pickup') {
                $('#' + 'datepicker-dropin')
                    .datepicker('option', 'minDate', selectedDate)
                    .datepicker('refresh');
                datePickup = dateText;
            }
            if (this.id == 'datepicker-dropin') {
                $('#' + 'datepicker-pickup')
                    .datepicker('option', 'maxDate', selectedDate)
                    .datepicker('refresh');
                dateDropin = dateText;
            }
        }
    });
    $('#datepicker-pickup').datepicker({
        'defaultDate' : datePickup,
        'maxDate' : dateDropin
    });
    $('#datepicker-dropin').datepicker({
        'defaultDate' : dateDropin,
        'minDate' : datePickup,
        'maxDate' : new Date(date.getFullYear(), date.getMonth(), date.getDate())
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...