我使用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"})%>
没关系,但是一年的下拉菜单只显示有限的值范围,没有滚动条来表示年份列表更长,但是滚动条滑块的大小没有给出整个范围的任何视觉线索:
如果您点击顶部值,然后将下拉列表关闭,则下次打开时,会显示更多值:
这是不明显的行为,我只是偶然地偶然发现.是否有任何方法使滚动条随时出现,滑块大小与范围成反比?如果没有,还有什么其他的日期选择方法可以追溯到一个世纪(实际上99年可以)吗?
对于我使用的记录:
> jquery-ui-1.8.5
> jquery-1.4.1
谢谢
克里斯平
解决方法
尝试设置yearRange选项(这将设置年份下拉框中的年份范围).您可以将其设置为yearRange:“-100:-21”.请注意,单独设置yearRange并不会影响用户允许选择的实际日期(您仍然需要设置minDate和maxDate).