Jquery日期选择器年份订单

时间:2013-02-04 22:58:26

标签: jquery datepicker

我在这里有一个Jquery日期选择器的代码

// Datepicker from jQuery UI plugin
    $birth.datepicker({
    onSelect: function(dateText, inst) { 
        $(this).parent().find("label#error").html("");
        $gender.focus();
    },
        yearRange: '1950:2006',
        changeMonth: true,
    changeYear: true,           
    showOtherMonths: true,          
    selectOtherMonths: true,
    dateFormat: 'yy-mm-dd'
    });
});

我的一年下降从1950年开始,一直持续到2006年,我想扭转它们。

我尝试yearRange: '2006:1950'但没有显示任何内容:(

有没有解决这个问题?

2 个答案:

答案 0 :(得分:1)

提供的链接是一个很好的解决方案。这是另一种方式,是一种黑客,但有效: http://plnkr.co/edit/sSdUbqd1pWKyiBOZAMwD?p=preview

$(document).ready(function() {

  var showPicker = false;

  $("#txtBirthday").datepicker({
    onSelect: function(dateText, inst) {
      $(this).parent().find("label#error").html("");
      $gender.focus();
    },
    yearRange: '1950:2006',
    changeMonth: true,
    changeYear: true,
    showOtherMonths: true,
    selectOtherMonths: true,
    dateFormat: 'yy-mm-dd', 
    onClose: function(dateText, inst) {
      showPicker = false;
    }
  });

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

    if (!showPicker) {
      showPicker = true;

      //Reverse the years
      var dropYear = $("select.ui-datepicker-year");

      dropYear.find('option').each(function() {
        dropYear.prepend(this);
      });

    }

  });

});

答案 1 :(得分:-1)

希望这一刻,我找到了一个更好的解决方案并且遇到了你的帖子。如果这仍然相关:

jQuery datepicker year dropdown starts from 1900 and I want it to start from the bottom

  

这就是我解决问题的方法。我认为这就是jQuery的原因   没有修复这个“Bug”,因为有一种“方式”来获得这一年   从最后一次开始:

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

与我在此处发布的原始代码相比,如果使用的话   yearRange作为固定年份yearRange: "1900:-13",最好使用   这是自下而上:"-70:"。并设置maxDate。所以现在我得到了我的   年份选择框从2004年开始而不是1900年。

     

希望这有助于其他人。

     P.S:所有其他解决方案都经过测试。他们很慢,而且   有些人不能很好地工作(特别是旧的 - 设定当年   而不是2004年。)