jQuery UI Datepicker - defaultDate和yearRange

时间:2016-06-15 12:17:46

标签: jquery-ui datepicker

我使用https://jsfiddle.net/suunyz3e/224/来选择出生日期。我只希望允许18到100岁之间的人的出生日期。因此我用了

$(function() {

        $('#datepicker').datepicker({
        changeYear: true,
        yearRange: "c-100: -18+c"
        });

});

这很有效。范围现在从1916年到1998年。 然而,这里是1916年的预选。我希望1998年被预选,所以我添加了一行

defaultDate: "-18y"

现在1998年是正确预选的,但现在的范围从1898年到1998年。为什么这会改变?这是一个错误吗?

这是jQuery UI Datepicker

2 个答案:

答案 0 :(得分:1)

而不是c-100尝试c-82

    $('#datepicker').datepicker({
    changeYear: true,
    yearRange: "c-82: -18+c"
    });

答案 1 :(得分:0)

使用

"c-100: -18+c"

不是有效的语法。根据{{​​3}},您必须使用

"c-nn:c+nn"

您在2016年发布了此信息,因此defaultDate: "-18y"是指年份1998。因此c-1001898(当前年份是1998)。由于-18+c无效,结果似乎回落到您的默认日期。

正确的语法是

$('#datepicker').datepicker({
   changeYear: true,
   yearRange: "c-82: c-0",
   defaultDate: "-18y"
)};

由于您选择的日期已经是-18年,因此您只希望范围是-82 : +0

这里是docs