我正在使用两个日期选择器来选择日期范围,并且我遇到以下问题:

当我在日期选择器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/

10-12 01:46
查看更多