0

2番目のコンボボックスに最初のコンボボックスの値を入力するスクリプトを作成しました。しかし、それは私がやりたいことではありません。最初のコンボボックスで選択されたアイテムに基づくSQLクエリの結果を2番目のコンボボックスに入力したいと思います。

これが私のJavaScriptです:

<script type="text/javascript">
    function selectDropdown(){
        var dropdownValue=document.getElementById("dropdown").value;
        $('option[value=st]').text(dropdownValue);
    }
</script>

最初のコンボボックス:

<select id="dropdown" name="dropdown" onchange="selectDropdown()">
    <option value="dd">--take an option--</option>
    <?
    $standard = Env::value('standard');
    if (!$status)
        $statement = "select code from standard";
    foreach ($db->query($statement )->fetchall() as $row)
        echo "<option".($row == $standard ? ' selected ' : '').">$row[0]</option>";
    ?>
</select>

クエリの結果を表示したい2番目の例:$q= select request.code from request inner join standard on ( request.standard_id=standard.id) where standard.code=$st

<select name='st' class='txt'>
  <option value="st"><? echo $st; ?></option>
</select>

クエリを実行する場所を教えてもらえますか?または、私が間違っていることを指摘してください。

4

1 に答える 1

0

jQueryのajax呼び出しを使用して、最初のドロップダウン選択が変更されるたびにサーバーにリクエストを送信します。サーバー側で、そのリクエストを受信し、2番目のドロップダウンに対応するレコードをJSON形式で返すスクリプトを作成します。これは、JavaScriptで簡単に処理できます。ajaxの使用については、次のリンクを参照してください:http: //api.jquery.com/jQuery.ajax/

次のようになります。

jQuery.ajax({
    method: "POST",
    url: "http://domain.com/path/to/script.php",
    data: value_of_selected_item_from_first_dropdown,
    success: function(response) {
        // Set 2nd dropdown values to those received via response
    }
    dataType: "json",
});
于 2013-03-13T12:05:21.213 に答える