jQuery DatePicker ограничить даты

Я пытаюсь ограничить jquery datepicker ценности. Так что from date не может превышать to date и наоборот.

Демо https://jsfiddle.net/DTcHh/21594/

Я пробовал несколько примеров этого, но не могу заставить его работать. Это потому, что я использую формат даты в Великобритании?

    $(".datepicker").datepicker({
      dateFormat: 'dd-mm-yy'
    });

    $('#from_date').datepicker({
        onSelect: function(dateStr) {
            var min = $(this).datepicker('getDate') || new Date(); // Selected date or today if none
            var max = new Date(min.getTime());
            max.setMonth(max.getDay() + 1); // Add one month
            $('#to_date').datepicker('option', {minDate: min, maxDate: max});
        }
    });
    $('#to_date').datepicker({
        onSelect: function(dateStr) {
            var max = $(this).datepicker('getDate'); // Selected date or null if none
            $('#from_date').datepicker('option', {maxDate: max});
        }
    });

Поскольку я новичок в JavaScript, я хочу точно знать, почему мой код не работает, поэтому я могу извлечь из этого уроки.

1 ответ

Вы не можете инициализировать выбор даты на одном элементе дважды. Сначала вы вызвали средство выбора даты для элемента с его классом; затем с его идентификатором.

Попробуйте переместить формат даты в функцию выбора даты по умолчанию.

  $.datepicker.setDefaults({
            dateFormat: 'dd-mm-yy'
        });

Или вам нужно устанавливать dateFormat каждый раз, когда вы инициализируете элемент выбора даты.

Другие вопросы по тегам