0

我被困在这段代码上,我可以选择到达日期和离开日期并显示天数,我还可以阻止用户选择过去的一天,即今天之前没有日期。

但是我卡住的地方是如果他们在到达日期中选择说 2013 年 7 月 11 日,我怎么能阻止他们在出发日期中选择 08/07/2013 或 10/07/2013 等之间的一天。

我尝试将#arrivalDate 作为日期选择器中的选项以阻止用户返回但无法使其正常工作。

任何帮助,将不胜感激

$("#ArrivalDate").datepicker({
    numberOfMonths: 1,
    dateFormat: 'dd/mm/yy',
    minDate: 0,
});

$('#DepartDate').datepicker({
    numberOfMonths: 1,
    dateFormat: 'dd/mm/yy',
    minDate: 0,
    onSelect: function () {
        var diff = dateDiff($('#ArrivalDate').datepicker("getDate"),
        $('#DepartDate').datepicker("getDate"));
        if (diff == 0) {
            $("#noDays").html("1 day");
        } else if (diff == 1) {
            $("#noDays").html(diff + " day");
        } else {
            $("#noDays").html(diff + " days");
        }
        alert(diff);
    }
});

function dateDiff(startDate, endDate) {
    if (endDate && startDate) return (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);
    return "Please enter arrival and departure dates!";
} 
4

1 回答 1

1

您需要使用日期选择器的onSelect 中的minDate选项:DepartDateArrivalDate

活生生的例子:http: //jsfiddle.net/YtazW/

$("#ArrivalDate").datepicker({
    numberOfMonths: 1,
    dateFormat: 'dd/mm/yy',
    minDate: 0,

    onSelect: function () {
        $('#DepartDate').datepicker('option', {
            minDate: $(this).datepicker('getDate')
        });
    }
});

活生生的例子:http: //jsfiddle.net/YtazW/

于 2013-07-08T13:08:37.863 回答