HTML / PHP第一个下拉列表更改第二个下拉列表

时间:2014-02-02 05:15:04

标签: javascript php jquery html drop-down-menu

我查看了这个网站并认为我有正确的代码可以根据第一个下拉列表更改第二个下拉值。以下是代码,但出于某种原因,它仍然不适用于我。

以下是主页上的代码:

<?php
include 'config.php';
?>

<select id="projectSelector" name="projectSelector">
<option selected value="base">--Select an option--</option>

<?php
$sqlOptions = "SELECT name from driver WHERE loginID='$loginID'"; 
$resultOptions = mysql_query($sqlOptions); 
while($opt = mysql_fetch_array($resultOptions)) 
{ 
   echo '<option value="'.$opt['name'].'">'.$opt['name'].'</option>'; 
} 

?>
</select>

<select id="customerSelector">
<option>--Select an Option--</option>
</select>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="js/jquery-1.7.2.min.js">    <\/script>')</script>
 <script>


 $(function() 
 {
 $("#projectSelector").change(function() 
 {
 $("#customerSelector").load("getter.php?project_id=" + $("#projectSelector").val());
 });
 });    
 </script>   

然后在我的 getter.php 文件中,这是我的代码:

<?php
include 'config.php';
$sProjectId = $_GET['project_id'];
$query = "SELECT * FROM equipment WHERE driver='$sProjectId'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
{
  echo '<option value="'.$row['unitID'].'">'.$row['unitID'].'</option>';
}
?>

所以第一个下拉列表运行完美。它连接到msyql数据库并提供所有可用选项的列表。当我做出第一个选择时,第二个下拉列表没有显示任何内容。我有什么东西在这里缺席吗?

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,直到有人建议我使用本教程。

http://www.yourinspirationweb.com/en/how-to-create-chained-select-with-php-and-jquery/

答案 1 :(得分:0)

我认为你在查询getter.php文件时遇到问题 您的查询条款是
 其中driver ='$ sProjectId'
这意味着选择驱动值为$ sProjectId的位置。 你必须像这样使用 $ query =“SELECT * FROM equipment WHERE driver ='”。$ sProjectId。“'”;
现在它将获取等于$ sProjectId变量的驱动程序值。 希望它可以帮助你。