【发布时间】:2012-08-10 11:59:59
【问题描述】:
我正在尝试连接 2 个日期选择器以允许用户选择日期范围。
我创建了这样的代码:
$(function() {
var dates = $("#fromDate, #toDate").datepicker({
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
minDate: new Date(2010, 2 - 1, 2),
onSelect: function(selectedDate) {
var option = this.id == "fromDate" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
});
这工作正常,但我得到奇怪的错误: 当我使用第一个输入选择日期时,日期选择器会显示第二个日期。 我认为 onSelect 函数会根据第二个日期选择器以某种方式设置日期。
如果第一个日期选择器的日期与第二个日期在同一月份,则不会显示此错误。
如何重现这种行为:
- 在第一个日期选择器中选择“2010-02-05”(单击日期后第二个月份和年份字段从第二个日期选择器更改为月份和年份)
这是我的 jsFiddle:http://jsfiddle.net/Misiu/TyQSG/1/
我应该如何更改onSelect 函数以消除此错误?
【问题讨论】:
-
你到底想要什么...你能举例说明吗..
-
我想在选择日期后删除该日期更改。现在,如果日期选择器有我描述的不同月份/年份的错误是可见的
-
查看jqueryui.com/demos/datepicker/#date-range 以获得更有效的实施
-
@helmus - 同样的错误。在第一个日期选择器中选择一个日期,并尝试在第二个日期选择器中选择另一个月/年。选择月份后的第二个组合框将显示来自第一个选择器的月份
-
@AlexBall - 所以这不是我的代码中的错误 :) 嗯......我想知道如何解决这个问题。可能不得不更改日期选择器代码中的某些内容:/
标签: jquery jquery-ui jquery-ui-datepicker