Я использую средство выбора даты jQuery, чтобы выбрать дату рождения заявителя, но возраст заявителя должен быть ограничен значениями от 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"})%>
Все в порядке, но раскрывающийся список года показывает только ограниченный диапазон значений и отсутствует полоса прокрутки, указывающая, что списоклет больше, но размер ползунка полосы прокрутки не дает никаких визуальных подсказок по всему диапазону:
Если вы нажмете на верхнее значение, а затем позвольтезакрыть раскрывающийся список, при следующем открытии появятся другие значения:
Это неочевидное поведение, и я наткнулся на него только случайно.Есть ли способ заставить полосу прокрутки появляться постоянно и с размером ползунка, обратно пропорционального диапазону?А если нет, то какие другие методы выбора даты, начиная с века (на самом деле 99 лет было бы хорошо), рекомендуются?
Для записи, которую я использую:
- jquery-ui-1.8.5
- jquery-1.4.1
Спасибо
Crispin