Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery日期选择器中的年份下拉滚动条出现问题_Jquery_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

jQuery日期选择器中的年份下拉滚动条出现问题

jQuery日期选择器中的年份下拉滚动条出现问题,jquery,jquery-ui,jquery-ui-datepicker,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: '-

我使用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

也尝试设置yearRange选项,该选项将在year下拉框中设置年份范围。您可以将其设置为年范围:-100:-21。请注意,仅设置yearRange不会影响允许用户选择的实际日期。您仍然需要设置minDate和maxDate

下面将设置从1970年到当前年份的年份范围,并解决滚动问题


.datepicker{yearRange:1970:+nn}

在BDP:BasicDatePicker中选择年份并使用此代码时向上滚动,因为再次设置相同的位置

<script>
  function SetScrollPostion() {
      var scrollPos = $(window).scrollTop();
      setTimeout(function () {
          window.scrollTo(0, scrollPos);
          $(".bdpYearSelectorImg").click(function () {
              SetScrollPostion();
          });
      }, 1)
  }

  $(".bdpButton").click(function () {
      $("#yearSelector").click(function () {
          $(".bdpYearSelectorImg").click(function () {
              SetScrollPostion();
          });
      });
  });
</script>

了解jqueryui datepicker的最佳地点: