JQuery 日期选择器 - 设置默认日期并优先考虑用户在日历上的输入

JQuery Datepicker - setting default date and giving preference to user input on the calendar

我使用以下代码设置 fromDate 和 toDate,默认情况下,toDate 是今天的日期,fromDate 是 7 天前的日期。

$(function() {
    $( "#menu" ).menu();
populateDefaultValues();
    showDatePicker();


});

function populateDefaultValues(){
v var endDateString = $('#toDate').val();
        var splitDate = endDateString.split("/");

        var endDate = new Date(splitDate[2], splitDate[0], splitDate[1]);
        var startDate = new Date();
        startDate.setDate(endDate.getDate() - 7);

        $("#fromDate").val($.datepicker.formatDate("mm/dd/yy", startDate));

}
function showDatePicker(){
$( "#fromDate" ).datepicker({
        defaultDate: "+1w",
        changeMonth: true,
            changeYear: true,
            changeDay: true,
            showButtonPanel: true,
        numberOfMonths: 3,
        onClose: function( selectedDate ) {
        $( "#toDate" ).datepicker( "option", "minDate", selectedDate );
    }
    });
    $( "#toDate" ).datepicker({
        defaultDate: "+1w",
        changeMonth: true,
            changeYear: true,
            changeDay: true,
            showButtonPanel: true,
        numberOfMonths: 3,
        onClose: function( selectedDate ) {
        $( "#fromDate" ).datepicker( "option", "maxDate", selectedDate );
    }
    });
}

日期范围按预期显示。但是,如果我 select 使用日历的 fromDate 中的其他日期范围,在页面加载期间,它再次返回到 -7 天。我该如何阻止这种情况发生?我想优先考虑用户在 fromDate 和 toDate 中的输入,但默认情况下,假设第一次加载页面时,只有一周的日期范围 selected。

出于某种原因,如果我不使用上面的代码,它会 select 设置一个我想避免的 2 周的日期范围。

任何指针。

你可以使用 最小日期:“-7D”, 最大日期:新日期()