1

我正在使用最新的 jquery (2.0.3) 和 jquery ui (v1.10.3)。这是我初始化日期选择器的设置:

$("#datepicker").datepicker({
    numberOfMonths: 2,
    minDate: 0,
    maxDate: 40,
    onSelect: function(selectedDate) {
        $(this).datepicker('option', 'minDate', selectedDate);
    },
});

如您所知,我为 datepicker 显示了两个月。当我选择当前月份的日期时,一切都很好。

但是当我在第二个月选择一个日期时,所选日期将移至第一个日期(因为更新状态?)。我不想要这种行为,我只想在第二个月选择日期。是否可以禁用此刷新状态?

编辑:为了避免混淆,我需要一个内联日期选择器(选择日期时不会消失的那个)

4

1 回答 1

0

您可以使用该onClose功能检查所选日期是否与开始日期在同一个月。

如果不是,您可以将选项设置showCurrentAtPos为 1,因此您将 datepicker 将当前选定的日期显示为第二个日期选择器。

快速参考:

当通过 numberOfMonths 选项显示多个月份时,showCurrentAtPos 选项定义显示当前月份的位置。

代码:

$("#datepicker").datepicker({
    numberOfMonths: [2, 1],
    minDate: 0,
    maxDate: 40,
    onSelect: function (selectedDate) {
        $(this).datepicker('option', 'minDate', selectedDate);
    },
    onClose: function (dateText, inst) {
        var now = new Date()
        if (now.getMonth() == inst.selectedMonth) {
            $(this).datepicker('option', 'showCurrentAtPos', 0);
        } else {
            $(this).datepicker('option', 'showCurrentAtPos', 1);
        }
    }
});

演示:http: //jsfiddle.net/IrvinDominin/UqHYV/

于 2013-10-20T10:38:16.280 回答