0

2 つの入力ボックスで jquery 日付範囲ピッカーを有効にして、開始日と終了日を選択します。デフォルト値は startDateInput=Start Date と endDateInput=End Date です。ただし、開始入力ボックスをクリックして開始日を選択すると、終了日と等しい endDateInput に書き込まれた値が null に変更されます。私が使用しているスクリプトは以下のとおりです。

startDate(開始日を選択する入力ボックスの名前) endDate(終了日を選択する入力ボックスの名前)

$(function () {
    $("#startDate").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: new Date(2012, 11 - 1, 27),
        maxDate: -1,
        onClose: function (selectedDate) {
            $("#endDate").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#endDate").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: new Date(2012, 11 - 1, 28),
        maxDate: -1,
        onClose: function (selectedDate) {
            $("#startDate").datepicker("option", "maxDate", selectedDate);
        }
    });
});
4

3 に答える 3

2

関数でに代入する前に、selectedDateをオブジェクトに変換します。DatedatepickeronClose

以下のようにコードを変更します。

$(function () {
    $("#startDate").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: new Date(2012, 11 - 1, 27),
        maxDate: -1,
        onClose: function (selectedDate) {
            $("#endDate").datepicker("option", "minDate",new Date(selectedDate));
        }
    });
    $("#endDate").datepicker({
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        minDate: new Date(2012, 11 - 1, 28),
        maxDate: -1,
        onClose: function (selectedDate) {
            $("#startDate").datepicker("option", "maxDate", new Date(selectedDate));
        }
    });
});

参照:デモを確認

于 2013-01-22T05:08:23.337 に答える
1

ウォーターマークについて話している場合は、これを試すことができます:

$(function () {
        $("#startDate").datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: new Date(2012, 11 - 1, 27),
            maxDate: -1,
            onClose: function (selectedDate) {
                if ($("#endDate").val() != 'End Date') {
                    $("#endDate").datepicker("setDate", selectedDate);
                }
            }
        });
        $("#endDate").datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 1,
            minDate: new Date(2012, 11 - 1, 28),
            maxDate: -1,
            onClose: function (selectedDate) {
                if ($("startDate").val() != 'Start Date') {
                    $("#startDate").datepicker("setDate", selectedDate);
                }
            }
        });
    });
于 2013-01-22T05:21:47.203 に答える
0

日付の設定方法が正しくありません。

交換:

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

と:

 $("#endDate").datepicker("setDate", selectedDate);

また、以下を置き換えます。

$("#startDate").datepicker("option", "maxDate", selectedDate);

と:

$("#startDate").datepicker("setDate", selectedDate);

それが役立つことを願っています。

于 2013-01-22T05:15:55.953 に答える