我使用两个日期选择器来选择日期范围,但遇到以下问题:
当我在日期选择器 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/