无法通过jQuery UI DatePicker获取所需的下拉日期范围

时间:2013-08-13 19:16:40

标签: jquery jquery-ui jquery-ui-datepicker

我正在使用显示jQuery DatePicker widgetmonth and year menus,并根据他们的API我可以修改下拉列表的年份范围。

我试图让它显示当前年份plus minus一年。

我的代码:

jQuery(document).ready(function() {

    $( ".date_from" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-nnnn:+nnnn"
    });

    $( ".date_to" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: "-nnnn:+nnnn"
    });

});

然而,这仅输出current year。我做错了什么?

2 个答案:

答案 0 :(得分:1)

字段中的nn和nnnn仅表示格式,而不是实际值。允许你:

  • 限制绝对年份(nnnn格式)。因此,如果您有dateRange: '1900:2000'用户将只能选择1900年到2000年之间的年份
  • 限制使用相对于今天的年份(+/- nn格式)。因此,如果你有dateRange: '-13:+07',那么范围将在2000年到2020年之间(从现在开始是2013年)
  • 使用年限相对于选定的年限制(c +/- nn格式)。因此,如果您有dateRange: 'c-1:c+1'且用户已选择2010,则范围将介于2009年至2011年之间,但当用户选择2011时,范围将更改为2010-2012

我假设您需要使用dateRange: '-01:+01'格式,因此日期范围为+/-一年后的一年。

有关详细信息,请参阅The Datepicker documentation

答案 1 :(得分:0)

您还可以将minDate / maxDate与"-1y" / "+1y"一起使用,这样会更有效。