jQuery DatePicker将年份添加到yearRange

jQuery DatePicker将年份添加到yearRange,jquery,datepicker,Jquery,Datepicker,我正试图将9999年添加到我的datepicker年范围中,但似乎没有任何效果。我想这样做: $("#effective_date").datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true, yearRange: "2002:2012,9999" }) 任何帮助都将不胜感激,谢谢 如果您试图添加9999年并使用yearRange选项,则必须将范围从2002年增加到9999年,如yearR

我正试图将9999年添加到我的datepicker年范围中,但似乎没有任何效果。我想这样做:

$("#effective_date").datepicker({
  dateFormat: 'yy-mm-dd',
  changeMonth: true,
  changeYear: true,
  yearRange: "2002:2012,9999"
})

任何帮助都将不胜感激,谢谢

如果您试图添加9999年并使用yearRange选项,则必须将范围从2002年增加到9999年,如yearRange:2002:9999

您的评论:


使用jQueryAPI可能是不可能的,但我确信有一些方法可以覆盖javascript


您可以创建自己的插件,如果您想使用现有插件,您需要使用它的API,这在jQuery UI datepicker小部件中是不可能的。

您可以简单地使用以下命令:

<script type="text/javascript">
$(function() {
  $("#datepicker").datepicker({changeMonth: true, changeYear: true, yearRange:'1950:2013'}).val();
});
</script>

与其他答案类似,可能有一种更优雅的UI方法来捕获此非日期值,但这可以修改年份。我不确定,但我猜会有意想不到的后果

  var yearAdded = false;

  $(".ui-datepicker").on("mouseenter", function() {

    if (!yearAdded) {
      yearAdded = true;          
      var dropYear = $("select.ui-datepicker-year");
      dropYear.append("<option value='9999'>9999</option>");

    }

  });

希望这能有所帮助。

您喜欢下面的答案,但没有给他想要的输出。那么您能澄清一下问题吗?他想要的范围是从2002年到2012年和9999年,这显然不是您提供给他的……使用jQuery api可能是不可能的,但是我确信有一些方法可以覆盖javascript,我不认为这能满足要求。如果我错了,你能解释一下这怎么会增加一年吗?