Jquery UI日期选择器自定义错误

时间:2016-07-01 13:47:34

标签: javascript jquery-ui-datepicker

代码参考:https://jsfiddle.net/manikiran1/9cmLuuk1/

我选择开始日期为2013年1月1日,然后结束日期应预先填入开始日期,它将通过获得焦点自动显示下拉菜单(如果结束日期为空)现在下拉列表将显示2013年1月的日历选项所以我可以选择这个选择中的任何日期。现在我的问题是         1.我选择开始日期为2013年1月1日         2.结束日期将自动显示日历下拉列表并选择开始日期        3.现在我想选择年份作为2015年,但是在第一次选择的日历下拉菜单中没有变化。但是如果你再次选择它可以正常工作。
        所以请帮我避免这个错误。

  $("#datepicker1").datepicker("option", "minDate", selectedDate);
       var a = $("#datepicker1").datepicker("getDate");
       var b = $("#datepicker").datepicker("getDate");
       var c = new Date(a);
       var d = new Date(b);
       if (a == null) {
         document.getElementById("datepicker1").focus();
         $("#datepicker1").datepicker('setDate', selectedDate);
       }
       if (d.getTime() == c.getTime()) {
         document.getElementById("datepicker1").focus();
         $("#datepicker1").datepicker('setDate', selectedDate);
       }
     }
   });
   $("#datepicker1").datepicker({
     maxDate: new Date(),
     yearRange: "2011:new Date()",
     changeMonth: true,
     changeYear: true,
     dateFormat: "M dd,yy",
     onClose: function(selectedDate) {
       var b = $("#datepicker").datepicker("getDate");
       if (b == null) {
         document.getElementById("datepicker").focus();
       }
     }
   });
});

1 个答案:

答案 0 :(得分:0)

尝试添加此

onChangeMonthYear:function(y, m, i){                                
 var d = i.selectedDay;
 $(this).datepicker('setDate', new Date(y, m - 1, d));
 },

完整的功能将是

$("#datepicker1").datepicker({
 maxDate: new Date(),
 yearRange: "2011:new Date()",
 changeMonth: true,
 changeYear: true,
 dateFormat: "M dd,yy",
 onChangeMonthYear:function(y, m, i){                                
 var d = i.selectedDay;
 $(this).datepicker('setDate', new Date(y, m - 1, d));
 },
 onClose: function(selectedDate) {
   var b = $("#datepicker").datepicker("getDate");
   if (b == null) {
     document.getElementById("datepicker").focus();
   }
 }
 });

小提琴手:https://jsfiddle.net/6h3zto4y/

相关问题