jQuery datepicker minDate变量

d30*_*020 8 javascript jquery datepicker

我使用了jQuery datepicker.在我的"EndDate"文本框中,我想使用从"StartDate"文本框+ 1中选择的日期.我该怎么做?

我尝试了这个,但没有奏效.在我的开始日期代码我有......

            test = $(this).datepicker('getDate');
            testm = new Date(test.getTime());
            testm.setDate(testm.getDate() + 1);
Run Code Online (Sandbox Code Playgroud)

然后在我的结束日期代码我...

minDate: testm,
Run Code Online (Sandbox Code Playgroud)

但结束日期仍然是本月的所有日子.


编辑.我很好奇为什么这不起作用.在我的开始日期datepicker我有这个..

onSelect: function (dateText, inst) {
    test = dateText
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能进入我的结束日期datepicker并说,minDate: test


编辑.还是行不通

    $(".dateStartDatePickerBox").datepicker({
        minDate:'-0d',
        onSelect: function(dateText, inst)
        {
            test = $(this).datepicker('getDate');
            testm = new Date(test.getTime());
            testm.setDate(testm.getDate() + 1);

            $("#dateEndDatePickerBox").datepicker("option", "minDate", testm);
        }
    });

    $(".dateEndDatePickerBox").datepicker({
        onSelect: function()
        {

        }
    });
Run Code Online (Sandbox Code Playgroud)

Joe*_*oel 22

您需要在开始日期的更改事件上动态设置最小日期.

就像是:

$("#startDate").change(function() {
    test = $(this).datepicker('getDate');
    testm = new Date(test.getTime());
    testm.setDate(testm.getDate() + 1);

    $("#endDate").datepicker("option", "minDate", testm);
});
Run Code Online (Sandbox Code Playgroud)

回答编辑:

您不能执行以下操作:

var test;
$("#myinput").datepicker({
    onSelect: function() { test = $(this).datepicker("getdate"); }
});
$("#myotherinput").datepicker({
    minDate: test
});
Run Code Online (Sandbox Code Playgroud)

在设置minDate时,测试未初始化myotherinput.毫无疑问地设置minDate的过程需要DOM操作,dateopicker在初始化或调用"option"时管理.只需更改用于初始化的变量不会影响已初始化的datepicker.