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

时间:2015-03-18 12:37:05

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

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);
        }
    }
});

4 个答案:

答案 0 :(得分:2)

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

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

而不是

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

fiddle

答案 1 :(得分:1)

例如,在此示例代码中,startDatePicker被选为2014-3-18,startDatePicker的更改事件设置了minDate的{​​{1}} 2014-3- 19。它会在此日期之前锁定单元格。我希望它有所帮助...

endDatePicker

答案 2 :(得分:0)

制作日期差异。它将隐藏日期。

$(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);                    
            }

        }
    });

答案 3 :(得分:0)

问题是datepicker我期待一个日期数据类型。

            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