0

私はこのコードに行き詰まっています.arrivalDateとdepartureDateを選択して日数を表示できます.また、ユーザーが過去の日を選択するのを止めることもできます.つまり、今日より前の日付はありません.

しかし、私が行き詰まっているのは、彼らがarrivalDateで2013年7月11日を選択した場合、departureDateで2013年8月7日または2013年10月7日などの間の日を選択するのをやめさせるにはどうすればよいかということです。

#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

datepicker の 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 に答える