MinDate基于第一个输入日期选择器

时间:2014-12-02 23:43:33

标签: jquery datepicker

我已经尝试了很多我在这个网站上看到的例子,但似乎无法让这段代码发挥作用。

我希望阻止用户选择小于第一个文本框datepicker中输入日期的日期。但我尝试的一切似乎都不起作用。

所以DepartDate必须是#ArrivalDate + 1天的最小值,我已经能够将天数限制为30天,但minDate让我受到了打击。

任何人都可以看到我出错的地方。

$(document).ready(function () {
    $("#ArrivalDate").datepicker({
        dateFormat: "dd/mm/yy",
        minDate: 0,
        onSelect: function () {
            var date2 = $('#ArrivalDate').datepicker('getDate');
            date2.setDate(date2.getDate() + 30);
            $('#DepartDate').datepicker('setDate', date2);
            $('#DepartDate').datepicker('option', 'maxDate', date2);
        }
    });
    $('#DepartDate').datepicker({
        dateFormat: "dd/mm/yy",
        onClose: function () {
            //var date = $(this).datepicker('getDate');
            //date.setDate(date.getDate() + 1);
            calculate();
            //minDate: $('#ArrivalDate').datepicker('getDate', '+1d');
            var dteArrivalDate = $('#ArrivalDate').datepicker('getDate');
            var dteDepartDate = $('#DepartDate').datepicker('getDate');
            if (dteDepartDate <= dteArrivalDate) {
                var maxDate = $('#DepartDate').datepicker('option', 'maxDate');
                //var minDate = $('#ArrivalDate').datepicker('getDate', '+1d');
                $('#DepartDate').datepicker('setDate', maxDate);
                //$('#DepartDate').datepicker('setDate', maxDate,'minDate',date);
                //$('#DepartDate').datepicker({ setDate: maxDate, minDate: minDate });
            }
        }
    });
});

1 个答案:

答案 0 :(得分:1)

设置maxDate时,设置minDate

var date1 = $('#ArrivalDate').datepicker('getDate');
date1.setDate(date2.getDate() + 1);
$('#DepartDate').datepicker('option', 'minDate', date1);