Проблема с летней панелью прокрутки в jQuery datepicker
Я использую jQuery datepicker для выбора даты рождения заявителя, но возраст заявителя должен быть ограничен значениями от 21 до 100 лет.
Чтобы сделать выбор относительно легким, я включил выпадающие окна месяца и года, и, находясь в Великобритании, я его локализовал.
<script type="text/javascript">
$(function () {
$(".dp1").datepicker({ changeMonth: true, changeYear: true, dateFormat: 'd MM yy', minDate: '-100y', maxDate: '-21y' });
});
Код ASP.NET MVC2 VB.NET для текстового поля выглядит следующим образом:
<%: Html.TextBox("", If(DirectCast(Model, DateTime) = DateTime.MinValue, String.Empty, ViewData.TemplateInfo.FormattedModelValue), New With {.class = "dp1"})%>
Это хорошо, но раскрывающийся год показывает только ограниченный диапазон значений и отсутствие полосы прокрутки, чтобы указать, что список лет больше, но размер ползунка полосы прокрутки не дает никаких визуальных подсказок по всему диапазону
![alt text]()
Если вы нажмете на верхнее значение и затем отпустите раскрывающееся меню, при следующем открытии его появятся следующие значения:
![alt text]()
Это неочевидное поведение, и я случайно наткнулся на него. Есть ли способ заставить полосу прокрутки появляться всегда и с размером ползунка, обратно пропорциональным диапазону? И если нет, то какие другие методы выбора даты, идущие назад столетие (на самом деле 99 лет были бы в порядке), рекомендуется?
Для записи, которую я использую:
- JQuery-щ-1.8.5
- JQuery-1.4.1
Спасибо
Криспин
Ответы
Ответ 1
Попробуйте также установить параметр yearRange (который установит диапазон лет в раскрывающемся списке). Вы можете установить его как yearRange: "-100: -21" . Обратите внимание, что установка yearRange не влияет на фактические даты, когда пользователю разрешено выбирать (вам все равно нужно установить minDate и maxDate).
Ответ 2
Ниже приведен диапазон лет от 1970 до текущего года, а также позаботится о проблеме прокрутки.
.datepicker({yearRange: "1970:+nn"});