【问题标题】:How to display jQuery datepicker year range list in descanding order?如何按降序显示 jQuery datepicker 年份范围列表?
【发布时间】:2016-10-29 20:22:50
【问题描述】:

演示:https://jsfiddle.net/a79dvqug/

我的问题是如何以降序而不是升序显示年份列表?

    var d = new Date();
            var dDate = d.getDate()+"-"+d.getMonth()+"-"+(d.getFullYear()-18);

 jQuery( "#date2" ).datepicker({
               yearRange: "-100:-18",
               dateFormat: 'dd-mm-yy',
               changeMonth: true,
               changeYear: true,
               defaultDate: dDate,
               onSelect: function(dateText){
               alert(dDate);
                             alert(dateText); 
              }

            });

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    我设法想出了一个非常丑陋的解决方案。如果有人有更好的扩展日期选择器。我还没有玩过 datepicker 内部代码。

    演示:https://jsfiddle.net/q0h4s89h/1/

     var d = new Date();
     var dDate = d.getDate()+"-"+(d.getMonth()+1)+"-"+(d.getFullYear()-18);
    
      jQuery( "#date2" ).datepicker({
               yearRange: "-100:-18",
               dateFormat: 'dd-mm-yy',
               changeMonth: true,
               changeYear: true,
               defaultDate: dDate,
               onSelect: function(dateText){
                             alert(dDate);
                             alert(dateText); 
              }
    
            });
    
    
    
     function modifyDatepickerYears() {
    
        var ln = jQuery('.ui-datepicker-year option').length;
        var newHtmlOptions = "";
        /// iterate the year options
        for (var i=ln-1;i>=0;i--){
                var item =jQuery('.ui-datepicker-year option:eq('+i+')');
          /// get the option html
          var itemHtml = jQuery('<div>').append(item.clone()).html();
                    newHtmlOptions += itemHtml;
        }
        jQuery('.ui-datepicker-year').html(newHtmlOptions);
        jQuery('.ui-datepicker-year').addClass('ordered')
     }
    
     function checkDatepickers(){
            var ln = jQuery('.ui-datepicker-year option').length;
            if (ln) {
    
                if (!jQuery('.ui-datepicker-year').hasClass('ordered')) {
                    console.log('Unordered Date picker options found! We have: '+ln);
                    modifyDatepickerYears();
                }
                // console.log('Exitings');
                //clearInterval(timer)
    
            }
    
     }
    
     var timer = setInterval(function(){
                checkDatepickers();
            },1000);
    

    【讨论】:

    猜你喜欢
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多