2017-03-07 65 views
1

开始我是用我的网站上的jQuery日期选择器,我有它设置这样的:jQuery的日期选择器一年下拉从1900年开始,我希望它从底部

$("#datepicker").datepicker( 
    { 
     dateFormat: 'mm/dd/yy', 
     changeMonth: true, 
     changeYear: true, 
     yearRange: "1900:-13" 
    } 
).on('change', function() { 
    $(this).valid(); // triggers the validation test 
    // '$(this)' refers to '$("#datepicker")' 
}); 

所以,我今年选择栏实现长期1900和到2004年。

默认情况下,当打开年份选择框 - 它从1900开始,我不得不滚动很多相关的一年。

如何设置我的jQuery datepicker从2004年开始(向上滚动)而不是从1900年(滚动很多下来)?

研究这个问题导致旧帖子(7年前),我可能能够找到一个更实用的解决方案,这些日子的作品。

+2

https://bugs.jqueryui.com/ticket/5774只开放了7年 – epascarello

+0

@epascarello不认真:X –

+0

http://stackoverflow.com/questions/14697315/jquery-date-picker-year-订单或http://stackoverflow.com/questions/1594894/jquery-ui-datepicker-reverse-the-order-of-the-year-in-the-dropdowns – epascarello

回答

0

这是我如何解决我的问题。 ,我想这就是为什么jQuery的不解决这个“错误”,因为有一个“办法”来获得一年的最后一天开始:

dateFormat: 'mm/dd/yy', 
changeMonth: true, 
changeYear: true, 
yearRange: "-70:", 
maxDate: "-13Y" 

相较于我贴在这里的原代码,而不是如果使用yearRange作为固定年份yearRange: "1900:-13" 最好从下往上使用它:"-70:"。并设置了maxDate。 所以,现在我得到我的年份选择框从2004年开始,而不是1900年。

希望这可以帮助其他人。

P.S:所有其他解决方案已经过测试。它们非常缓慢,有些效果并不好(特别是旧的 - 例如设定当年而不是2004年)。

0

你可以试试这个选项:

$(".selector").datepicker({ 
    currentText: "Now" 
}); 

我认为修改currenText价值就可以达到你想要的。

API docs

+0

如果您的日期开始于2004年,这不起作用 当选择2004年时,它将输出2017 –

+0

我很抱歉,我犯了一个巨大的错误。我想给你指出'defaultDate'而不是currentText ..试着设置'defaultDate :01/01/2004'到日期选择器选项,如currentText建议..如果它的工作,我会更新我的答案 – Marco

相关问题