设置jquery Datepicker的最小/最大日期

时间:2016-09-23 11:52:57

标签: javascript jquery jquery-ui datepicker

我无法理解如何设置jquery Datepicker的最小/最大日期。当我查看docs时,我发现dateformat中需要new Date(2009, 1 - 1, 26)1-1是什么意思?当我为js dateformats chec w3c学校时,我找不到这个。

所以我试过

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: 'yyyy-mm',
    minDate: new Date(2001-01),
    maxDate: '+15Y'
});

但这让我完全随意的结果......从2006年开始到2026年结束。

这是小提琴 http://jsfiddle.net/ANF2y/58/

enter image description here

2 个答案:

答案 0 :(得分:1)

在JavaScript month中计算从0到11.因此,在创建新日期时,请使用当前月份 - 1

1 - 1等同于0。这是一个有效的月份(0 - January)。

在您的案例中设置minDate,如下所示。

$("#datepicker").datepicker({
  changeMonth: true,
  changeYear: true,
  minDate: new Date(2001, 0, 1),
  maxDate: '+15Y',
  dateFormat: 'yyyy-mm'
});
  

这是因为jquery日期选择器一次只显示15个项目,没有设置最大日期,因此您可以根据需要在未来进行更远的操作。当它设置为2001时,您会在下拉列表中看到2006,因为它仅限于15个项目。选择2006,然后您将在下拉菜单中看到2001。您的问题是否可以在年份下拉列表中显示更多项目?

答案 1 :(得分:1)

我不打算进入minDate或maxDate,因为它已被很好地覆盖。但除此之外,您正在寻找的是yearRange将设置jquery日期选择器的年份下拉列表中的可见项目数。

文档说明:

  

年份下拉列表中显示的年份范围:相对于今天的年份(“ - nn:+ nn”),相对于当前所选年份(“c-nn:c + nn”),绝对值( “nnnn:nnnn”)或这些格式的组合(“nnnn:-nn”)。请注意,此选项仅影响下拉列表中显示的内容。

Reference