【发布时间】:2014-08-01 20:35:14
【问题描述】:
我遇到了这个 jquery (JSFiddle Link) 的问题,它允许我选择一个日期范围,当我选择一个日期时,它会将我选择的日期的月份移动到第一个月。例如,我从第 2 个月中选择一个日期,日期选择器将该月移动到显示月份列表中的第一个月。我怎样才能禁用它?我只是希望它留在原处。
$(".date-picker").datepicker({
numberOfMonths: 3,
beforeShowDay: function(date) {
var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date-from").val());
var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date-to").val());
return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
},
onSelect: function(dateText, inst) {
var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date-from").val());
var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#date-to").val());
if (!date1 || date2) {
$("#date-from").val(dateText);
$("#date-to").val("");
$(this).datepicker("option", "minDate", dateText);
} else {
$("#date-to").val(dateText);
$(this).datepicker("option", "minDate", null);
}
}
});
【问题讨论】:
-
这种行为是因为
$(this).datepicker("option", "minDate", dateText);这行当您设置minDate并隐藏您禁用的日期时重新呈现日历,从而将您的选择移动到第一个。
标签: javascript jquery datepicker jquery-ui-datepicker