gpt4 book ai didi

javascript - 多个月禁止在选择时移动到第一个

转载 作者:行者123 更新时间:2023-11-28 01:05:54 25 4
gpt4 key购买 nike

我遇到了这个 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);
}
}
});

最佳答案

正如Ramy所说,这是因为设置了最小日期后重新渲染的原因。

为了防止它跳转到所选日期的月份到第一个位置,您必须添加以下行:

...
var drawMonth = $(this).data().datepicker.drawMonth; // <-- this is new

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).data().datepicker.drawMonth = drawMonth; // <-- this is new
$(this).datepicker("refresh"); // <-- this is new

这不是最优雅的解决方案,但不幸的是可能没有选项来控制这种行为。

关于javascript - 多个月禁止在选择时移动到第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com