javascript - 在日期选择器上显示特定月份而不更改所选日期

标签 javascript jquery jquery-ui jquery-ui-datepicker

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

当我在日期选择器 I 上选择“开始日期”时,我会在第二个日期更新 minDate(类似地,当选择“结束日期”时,我会更新 maxDate 在第一个)。

问题是,更新 maxDateminDate 会导致日期选择器刷新。

因此,例如,如果有人在 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/

相关文章:

javascript - jQuery 和 OpenLayers 之间的事件监听器冲突

Javascript - 滚动到页面底部时出错

javascript - 简单的 JavaScript 计时器

javascript - jQuery 创建的列表需要很多时间

css - Jquery UI 选项卡 - 选定的选项卡行高较小 ->最后一个选项卡中断设计

jquery - 添加 jqueryui css 后单击事件未触发

javascript - 在移动设备上处理具有悬停效果的 'a' 标签

javascript - HTML onfocus,onclick 事件不起作用

javascript - 如何替换div中的数字?

jquery - 我如何计算我需要滚动多少