0

私はWebアプリを構築しています。ある時点で、ユーザーはフォームにデータを入力する必要があります。このフォームには、いくつかのテキストフィールドとがありDropDownListsます。

DDLの1つは、以前のDDLに依存しています。ユーザーが最初のDDLから値を選択すると、2番目のDDLは、最初のDDLの選択された値に関連するデータをデータベースからロードする必要があります。

これまで、ほとんどの問題を処理するために、PHPJS、(なしAJAX、またはその他)のみを実装してきました。jQuery

最初のDDLの項目が選択された後、データベースから2番目のDDLを設定する方法を知りたいです。

どんな助けでもいただければ幸いです。ありがとうございました!

4

4 に答える 4

3

次に例を示します。

http://tutorialzine.com/2011/11/chained-ajax-selects-jquery/

Googleはあなたの友達です:)

于 2012-05-12T18:01:54.823 に答える
1

Ajaxが最善の策です。 これは役立ちます

于 2012-05-12T18:03:14.213 に答える
0

2番目のドロップダウンのデータが最初のドロップダウンのデータに依存している場合は、次のように2番目のドロップダウンの値をjavascriptオブジェクトにロードする必要があります。

// Given the options in the first dropdown are: "foo", "bar", and "baz"
var secondData = {
    foo: ['lorem', 'ipsum'],
    bar: [1,2,3],
    baz: []
}

'change'イベントを最初のドロップダウンに追加し、そのドロップダウンの値を指定して、secondDataオブジェクトに含まれている値を含む2番目のドロップダウンのコンテンツをロードします。

于 2012-05-12T18:01:28.783 に答える
0

jQuery(私が強くお勧めします)の使用に慣れている場合は、次のようにする必要があります。

$("#dropdown").on("change", function() {//change [dropdown] to the actual ID of your dropdown
    var selected=$(this).find("option:selected").val();//assuming your dropdown has a value to send, otherwise use text()

    $.get("options.php?selected="+selected, function(data) {
        var options=data.split("\n");
        var newSelectHTML="<select name=\"whatever\">\n";

        for (var i=0;i<options.length;i++) {
            newSelectHTML+="<option>"+options[i]+"</option>";
        }

        newSelectHTML+="</select>";
        $("#form").append(newSelectHTML);//again, change [form] to the correct ID.
    }
}

このコードは、IDが「ドロップダウン」(必要に応じて変更)のDDLの現在選択されているオプションの値を取得し、それをのPHPファイルoptions.phpに送信するだけです$_GET["selected"];。そのファイルが改行(\n)で区切られたオプションのリストを出力すると仮定します。次に、JavaScriptはそれを取得し、行ごとに分割し、オプションをループして、新しいDDLのHTMLを作成し、それを要素IDに追加しますform。エラー処理はありませんが、彼らが言うように、それは読者の練習です。返されるものはすべて変数にありますdata

于 2012-05-12T18:04:47.557 に答える