更改月份或年份的JQUERY日期选择器在选择后重置

时间:2013-08-19 13:46:33

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

我在使用JQUI日期选择器时遇到问题,我有一个来自文本字段。从日期中选择一个,自动使用onClose函数选择下一个字段。

当尝试从 文本字段的下拉框中更改月份或年份时,日期选择器弹出窗口将重置,用户必须重新选择月份或年。这似乎只发生在 字段。

我在代码中做错了导致这种行为吗?我在Windows上的Chrome和Firefox中注意到了这一点。

JS FIDDLE DEMO

CODE

$('#sfd_start').datepicker({
    inline: true,
    selectOtherMonths: true,
    changeMonth: true,
    changeYear: true,
    minDate: 0,
    maxDate: "+2y",
    dateFormat: "yy-mm-dd",
    onClose: function (selectedDate) {
        $('#sfd_end').datepicker('option', 'minDate', selectedDate);
        $('#sfd_end').focus();
    }
});

$('#sfd_end').datepicker({
    inline: true,
    selectOtherMonths: true,
    changeMonth: true,
    changeYear: true,
    dateFormat: "yy-mm-dd",
    maxDate: "+2y"
});

编辑: 如果日期选择器 自动,那么似乎不会出现问题如果这有助于缩小范围,则从选择日期后打开。

1 个答案:

答案 0 :(得分:4)

似乎是一个时间问题。将onClose函数更改为:

onClose: function (selectedDate) {
    $('#sfd_end').datepicker('option', 'minDate', selectedDate);
    setTimeout(function () {
        $('#sfd_end').focus();
    }, 100);
}

<强> jsFiddle example