在选择开始日期后设置结束日期

set end Date after select start date

本文关键字:日期 设置 结束 开始 选择      更新时间:2023-09-26

JSFIDDLE

如何设置必须比开始日期晚1天的结束日期?

$("#beginDate").datepicker({
    minDate: 1,
    changeMonth: true,
    dateFormat: 'mm/dd/yy',
    onClose: function (selectedDate, instance) {
        if (selectedDate != '') {
            $("#endDate").datepicker("option", "minDate", selectedDate);
            var date = $.datepicker.parseDate(instance.settings.dateFormat, selectedDate, instance.settings);
            date.setMonth(date.getMonth() + 3);
            console.log(selectedDate, date);
            $("#endDate").datepicker("option", "minDate", selectedDate);
            $("#endDate").datepicker("option", "maxDate", date);
        }
    }
});

只需更新beginDatePicker的代码onclose事件中的一行使用这条线路

var minDate2 = new Date(selectedDate);
minDate2.setDate(minDate2.getDate() + 1);
$("#endDate").datepicker("option", "minDate", minDate2);

而不是

$("#endDate").datepicker("option", "minDate", selectedDate);

小提琴

例如,在此示例代码中,startDatePicker被选择为2014-3-18,startDatePicker的更改事件设置endDatePickerminDate 2014-3-19。它会在此日期之前锁定单元格。我希望它能帮助。。。

        $("#startDatePicker").datepicker({
        dateFormat: 'yy-mm-dd',
        changeMonth: true,
        minDate: new Date(),
        maxDate: '+2y',
        onSelect: function (date) {
            var selectedDate = new Date(date);
            var msecsInADay = 86400000;
            var endDate = new Date(selectedDate.getTime() + msecsInADay);
            $("endDatePicker").datepicker("option", "minDate", endDate);
            $("endDatePicker").datepicker("option", "maxDate", '+2y');
        }
    });
    $("endDatePicker").datepicker({
        dateFormat: 'yy-mm-dd',
        changeMonth: true
    });

问题是日期选择器i需要一个日期数据类型。

            var date = new Date(selectedDate);
            date.setDate(date.getDate() +1);
            console.log(selectedDate, date);
            $("#endDate").datepicker("option", "minDate", date);
            $("#endDate").datepicker("option", "maxDate", date);

更新的jsFiddle

创建日期差异。它将看不到日期。

$(function() {
    $( "#beginDate, #endDate" ).datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        onSelect: function( selectedDate ) {
            if(this.id == 'beginDate'){
              var dateMin = $('#beginDate').datepicker("getDate");
              var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 1); 
              $('#endDate').datepicker("option","minDate",rMin);
              $('#endDate').datepicker('setDate', rMin);                    
            }
        }
    });