0

私は本当に混乱しています。SQLデータベースの情報を使用して[選択]ドロップダウンメニューを作成したい。すべてがうまくいきますが、1つ質問があります。ユーザーが選択を変更するたびに選択ドロップダウンを更新するにはどうすればよいですか。質問は本当に紛らわしく、それを説明する方法がわかりません。phpでコードを設定し、ページ内に配置します。コードは次のとおりです。

<?php
//creating a function to generate the second select menu
function createNameSelect(){
    $options = "<select id='name'>"
    $sql = "SELECT * FROM names WHERE category = 'c'";
    $result = mysql_query($sql);

    $options.="<option value='nothing'>-- select an option --</option>";

    while ($row=mysql_fetch_array($result)){
        $name=$row['name'];
        $options.="<option value='$name'>$name</option>";
    }

    $options.="</select>";

    return "$options";
}
?>



<!DOCTYPE html>
....
<select id = c>
   <option value ='1'>option 1</option>
   <option value ='2'>option 2</option>
   <option value ='3'>option 3</option>
</select>
 <?php createNameSelect(); ?>

....
</html>

今では完璧に動作しますが、最初のメニューに続く選択メニューは更新されません。デフォルトのオプションから生成されたメニューでスタックします。私がそれを修正するために何ができるか考えていますか?それに対するjsソリューションはありますか?

ありがとう!

4

2 に答える 2

0

これを試して

<select id = c ONCHANGE="location = this.options[this.selectedIndex].value;">

ajax を呼び出し、変更された値を db に保存します

のインスタンス

<select id = c>
于 2012-05-12T04:57:45.670 に答える
0

PHP はサーバー側スクリプトです。サーバー上で 1 回だけ実行され、出力がクライアント (ビューアー ブラウザー) に送信されます。したがって、ユーザーが最初の選択を変更するときに、その PHP 関数を何度も呼び出すことはできません。

必要なことは、最初の選択で有効なオプションを指定すると、2 番目の選択でコードを出力する別の PHP ファイルを作成することです。次に、AJAX を使用して、jQuery .get() 関数を使用してその PHP ファイルを呼び出し、2 番目の選択の内容を取得した結果に置き換えます。

于 2012-05-12T05:04:04.730 に答える