-1

ドロップダウン リストを生成する次のコードがあります。

$query = "SELECT * FROM firm";
// Execute it, or return the error message if there's a problem.
$result = mysql_query($query) or die(mysql_error());

$dropdown = "<select name='name'>";
while($row = mysql_fetch_assoc($result)) 
    $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>"; 
$dropdown .= "\r\n</select>";

上記のドロップダウンで選択した値に基づいて、このコードを変更して 2 番目のドロップダウンを作成するにはどうすればよいですか。

私が達成しようとしているのは、まず上記のように会社を選択できるようにすることです。次に、その特定の会社のさまざまな分野から選択できるようにしたいと考えています。このすべての情報は 1 つのテーブルにあります。

このコードを変更することは可能ですか。

4

2 に答える 2

0

最初の選択要素に変更イベントをバインドできます

$("#firm").change(function(){...});

その場合、AJAX リクエストを作成して 2 番目の select 要素の追加オプションを取得し、その結果セットを使用して新しい select 要素を設定する必要があります。

ここでは、新しい結果セットを取得し、select 要素を設定する Javascript の実装を確認できます

PS AJAXを使用せずにすべての選択オプションを最初に取得し、次に選択した項目に基づいて、2番目の選択要素で接続領域を非表示/表示する2番目のオプションがあります。

于 2013-08-13T11:30:14.937 に答える
0

クエリ文字列を生成する関数を JavaScript で作成します。

<script type="text/javascript">
function show(val){
  window.location="pagename.php?drp="+val;
}
</script>

ドロップダウンの onchange イベントでこの関数を呼び出します。

  $dropdown = "<select name='name' onChange='show(this.value)'>";

クエリ文字列が生成されるようになりました。任意の変数でクエリ文字列値を取得する

2 番目のドロップダウンをバインドします。

if(isset($_REQUEST["drp"]))
{
   $val=$_REQUEST["drp"];
$query = "SELECT * FROM tablename where parametername='$val'";
    // Execute it, or return the error message if there's a problem.
    $result = mysql_query($query) or die(mysql_error());

    $dropdown = "<select name='drp2'>";
    while($row = mysql_fetch_assoc($result)) {

    $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>";
    }
    $dropdown .= "\r\n</select>";
}
于 2013-08-13T11:33:40.977 に答える