JQuery UI Datepicker: Показать все 12 месяцев в <select>для текущего года? - PullRequest
4 голосов
/ 25 февраля 2011

Я использую jQuery UI Datepicker со следующими параметрами:

$('#birth_date').datepicker({
        changeMonth: true,
        changeYear: true,
        minDate: new Date(-2206281600*1000),
        maxDate: new Date(1298653687*1000),
        yearRange: '1900:2011'
});

Работает довольно хорошо.Месяц и год отображаются в виде двух боксов <select>.Проблема в том, что мы находимся только в феврале 2011 года. Поэтому, когда пользователь вводит дату своего рождения, скажем, декабрь, этот месяц еще не доступен.Они должны сначала выбрать свой год, прежде чем месяц станет доступен для выбора.

Как я могу отобразить все 12 месяцев, даже если эти месяцы не являются допустимыми параметрами для текущего года?

Ответы [ 2 ]

2 голосов
/ 15 марта 2017

Для тех, кто все еще ищет, я использовал defaultDate, чтобы исправить это:

$( ".selector" ).datepicker({
  changeMonth: true,
  changeYear: true,
  minDate: '-100Y', //100 Years Old
  maxDate: '0' //Today
  defaultDate: '-1Y', //Default to One Year Ago to show 12 months
  yearRange: '-100:+0' //Show 100 
});

Это все еще ограничивает диапазон дат, поэтому никто не может выбрать дату в будущем, и не зависит от ввода пользователя в определенном порядке.

0 голосов
/ 25 февраля 2011

Используйте numberOfMonths для отображения всех 12 месяцев.

$('#birth_date').datepicker({
    numberOfMonths: 12
});
...