我正在使用两个日期选择器来选择日期范围,并且我遇到以下问题:
当我在日期选择器I上选择“开始日期”时,我在第二个选择器上更新minDate(类似地,在选择“结束日期”时,我在第一个选择器上更新maxDate)。
问题是,更新maxDate或minDate会导致刷新日期选择器。
因此,例如,如果某人在datepicker II上浏览月份,然后在datepicker I上选择了某个日期,则datepicker II将刷新并显示返回到datepicker II上最后选择的日期,而不是停留在用户正在浏览的月份。
我已经知道找出日期选择器上最后显示哪个月份的方法-通过使用“ onChangeMonthYear”选项。
问题是如何强制日期选择器导航到我想要的月份(实际上不更改所选日期)。
非常感谢您的帮助或建议。
要求的代码。我正在使用AngularJS,但我想您可以轻松地看到如何将其转换为JQuery:
scope.fromDate.onChangeMonthYear = function(year, month){
//saving info about date I
};
scope.toDate.onChangeMonthYear = function(year, month){
//saving info about date II
};
scope.fromDate.onSelect = function(selectedDate) {
element.find(".date-to").datepicker("option", "minDate", selectedDate);
};
scope.toDate.onSelect = function(selectedDate) {
element.find(".date-from").datepicker("option", "maxDate", selectedDate);
};
最佳答案
根据jquery ui datepicker api参考:
// getter
var minDate = $( ".selector" ).datepicker( "option", "minDate" );
// setter
$( ".selector" ).datepicker( "option", "minDate", new Date(2007, 1 - 1, 1) );
应该在初始化后使用它,而不重设日期选择器
关于javascript - 在日期选择器上显示特定月份,而不更改所选日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22970041/