Javascript jquery日期选择器年份范围默认值

Javascript jquery日期选择器年份范围默认值,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,JQuerydatePicker有点问题,我怀疑这只是我忽略或出错的设置问题 如果你看看这个简单的小提琴: 你会看到我已经设置了年份范围,因此默认情况下,当你点击输入时,它会在1994年打开,但是如果你点击其中任何一个日期,例如9月3日,它实际上会将其作为2012年而不是下拉菜单中选择的年份输入 我怎样才能使它使用正确的年份,而不必更改下拉列表,然后再更改回来 干杯。很奇怪,但是在日期选择器选项中添加defaultDate:“1994-01-01”似乎可以解决这个问题 我想我知道原因了。。 这是

JQuery
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不同。。。