-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>";

我如何修改此代码以根据上面下拉列表中选择的值创建第二个下拉列表。

我想要实现的是,您首先可以如上所述选择一家公司,然后我希望能够在该特定公司的不同领域之间进行选择。所有这些信息都在一个表中。

是否可以修改此代码。

4

2 回答 2

0

您可以在第一个选择元素上绑定更改事件

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

发生这种情况时,您需要发出 AJAX 请求以获取第二个选择元素的这些额外选项,然后使用该结果集填充新的选择元素。

在这里,您可以看到获取新结果集和填充选择元素的 Javascript 实现:Populate Select box options on click with Javascript/Jquery with Json data

PS还有第二个选项,您不使用AJAX,但首先获取所有选择选项及其相互关系,然后根据第二个选择元素中的选定项目隐藏/显示连接区域。

于 2013-08-13T11:30:14.937 回答
0

在 javascript 中创建一个函数来生成查询字符串:

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

在 Dropdown 的 onchange 事件上调用此函数:

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

现在生成一个查询字符串。获取任何变量中的查询字符串值

绑定第二个下拉列表:

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 回答