我使用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年。为什么这会改变?这是一个错误吗?
答案 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-100
是1898
(当前年份是1998)。由于-18+c
无效,结果似乎回落到您的默认日期。
正确的语法是
$('#datepicker').datepicker({
changeYear: true,
yearRange: "c-82: c-0",
defaultDate: "-18y"
)};
由于您选择的日期已经是-18年,因此您只希望范围是-82 : +0
这里是docs