jQuery datepicker中年份下拉滚动条的问题

Cri*_*inH 18 jquery jquery-ui jquery-ui-datepicker

我使用jQuery日期选择器来选择申请人的出生日期,但申请人的年龄必须限制在21到100年之间.

为了使选择相对容易,我打开了月份和年份下拉框,并且在英国我已将其本地化.

<script type="text/javascript">
$(function () {
    $(".dp1").datepicker({ changeMonth: true, changeYear: true, dateFormat: 'd MM yy', minDate: '-100y', maxDate: '-21y' });
});
Run Code Online (Sandbox Code Playgroud)

文本框的ASP.NET MVC2 VB.NET代码如下:

<%: Html.TextBox("", If(DirectCast(Model, DateTime) = DateTime.MinValue, String.Empty, ViewData.TemplateInfo.FormattedModelValue), New With {.class = "dp1"})%>
Run Code Online (Sandbox Code Playgroud)

这很好,但年份下拉列表只显示有限的值范围,没有滚动条表示年份列表更长,但滚动条滑块的大小并未给出整个范围的任何视觉线索:

替代文字

如果单击顶部值然后关闭下拉列表,则下次打开它时会显示更多值:

替代文字

这是非显而易见的行为,我偶然偶然发现了它.是否有任何方法可以始终显示滚动条并且滑块大小与范围成反比?如果没有,推荐其他日期选择方法可追溯到一个世纪(实际上是99年就可以)?

对于我正在使用的记录:

  • jQuery的UI-1.8.5
  • jQuery的1.4.1

谢谢

克里斯平

pin*_*x33 26

尝试设置yearRange选项(这将设置年份下拉框中的年份范围).您可以将其设置为yearRange:" - 100:-21".请注意,单独设置yearRange不会影响允许用户选择的实际日期(您仍需要设置minDate和maxDate).


Pri*_*sai 8

以下将设置从1970年到当年的年份范围,并且还处理滚动问题.

.datepicker({yearRange: "1970:+nn"});