1

JQuery を操作するための指針を探しています。

私は3つのフォーム要素を持っています:

select - id: ロッジ
入力[テキスト] - id: 日付
select - id: 期間

私がする必要があるのは、これらのいずれかに変更またはぼかしがある場合に関数を実行することだけでなく、スクリプトがそれぞれに値があることを確認し、それらの値の 3 つすべてをスクリプトに渡すことです。

したがって、次の 3 つの変数を入力する必要があります。

var LodgeChoice = $('#lodge').val();
                var DateParse = $('#dates').datepicker('getDate');
                var DateChosen = DateParse.getFullYear() + '-' + (DateParse.getMonth() + 1) + '-' + DateParse.getDate();
                var Duration = $('#durationNights').val();

しかし、誰かがフォーム変数にどのような順序で入力するかはわかりません。

4

1 に答える 1

2
$("#lodge, #dates, #durationNights").on("blur change", function() {
    //get/process values here
});

何らかの理由でどの要素が変更されたかを知る必要がある場合は$(this)、イベント ハンドラー関数内から参照できます。

編集:

あなたのコメントへの回答: 先に進む前に 3 つすべてに値があることも確認する必要がある場合は、if ステートメントを大きくする必要はありません。代わりに、次のことができます。

var fields = $("#lodge, #dates, #durationNights");
fields.on("blur change", function() {
    var valuesSet = true;
    fields.each(function() {
        if (!$(this).val()) { //inside a jQuery "each", "this" refers to the current item in the loop
            valuesSet = false;
            return false; //break out of the "each" loop
        }
    });
    if (valuesSet) {
        //process values
    }
});
于 2013-03-01T20:35:26.997 に答える