Javascript jquery日期选择器年份范围默认值
JQueryJavascript jquery日期选择器年份范围默认值,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,JQuerydatePicker有点问题,我怀疑这只是我忽略或出错的设置问题 如果你看看这个简单的小提琴: 你会看到我已经设置了年份范围,因此默认情况下,当你点击输入时,它会在1994年打开,但是如果你点击其中任何一个日期,例如9月3日,它实际上会将其作为2012年而不是下拉菜单中选择的年份输入 我怎样才能使它使用正确的年份,而不必更改下拉列表,然后再更改回来 干杯。很奇怪,但是在日期选择器选项中添加defaultDate:“1994-01-01”似乎可以解决这个问题 我想我知道原因了。。 这是
datePicker
有点问题,我怀疑这只是我忽略或出错的设置问题
如果你看看这个简单的小提琴:
你会看到我已经设置了年份范围,因此默认情况下,当你点击输入时,它会在1994年打开,但是如果你点击其中任何一个日期,例如9月3日,它实际上会将其作为2012年而不是下拉菜单中选择的年份输入
我怎样才能使它使用正确的年份,而不必更改下拉列表,然后再更改回来
干杯。很奇怪,但是在日期选择器选项中添加
defaultDate:“1994-01-01”
似乎可以解决这个问题
我想我知道原因了。。
这是因为yearRange:仅在下拉菜单中限制范围。
它只是改变了列表,其他什么都没有
他们在这里建了一栋公寓
[请注意,此选项仅影响下拉列表中显示的内容,以限制可使用minDate和/或maxDate选项选择的日期。]
为了证明这一点。。如下所示设置日期选择器,您将发现所有日期都被禁用。
因为它让我们看到了2012年而不是1994年的日历
$('.datePicker').datepicker({
dateFormat: 'yy-mm-dd',
changeYear: true,
changeMonth: true,
yearRange: "-18:-12",
maxDate: new Date(2012,1-1,1)
});
要修复它,您必须使用defaultDate以及minDate和maxDate
我希望我很清楚正如其他人所建议的那样,您必须设置默认日期。但是,与其他解决方案不同,您不希望硬编码日期,因为您的下拉列表将随着您创建相对列表的时间的推移而更新 试试这个
function loadDatePicker() {
$('.datePicker').datepicker({
dateFormat: 'yy-mm-dd',
changeYear: true,
changeMonth: true,
yearRange: "-18:-12",
defaultDate:"-18y-m-d" // Relative year/month/day
});
}
谢谢我合并它的方法是将currentYear减量18,并将其保留,而不是实际的硬编码年份,但我也会尝试您的方法。@jascav这是最好的方法。这应该是最好的答案,因为它不需要硬编码或计算就可以完成工作。这似乎是一个Datepicker Jquery插件错误。。。我也有同样的问题:
yearRange:“1994:2010”
可能它已经被填充为bug code.google.com/p/jquery datepicker/issues/detail?id=177这与可能的bug不同。。。