代码参考: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();
}
}
});
});
答案 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();
}
}
});