繁体   English   中英

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

[英]set end Date after select start date

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

就在你的代码更新一行onclose事件beginDatePicker使用这行

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更改事件设置endDatePicker 2014-3-19的minDate 它会在此日期之前锁定单元格。 我希望它有所帮助......

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

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

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

        }
    });

问题是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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM