我已经浏览了此站点,并认为我有正确的代码可以根据第一个下拉列表更改第二个下拉值。这是下面的代码,但由于某种原因,它仍然对我不起作用。
这是我的主页上的代码:
<?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数据库,并提供所有可用选择的列表。当我做出第一选择时,第二个下拉菜没有显示任何内容。我这里有我缺少的东西吗?
我也有类似的问题,直到有人建议我使用此教程。
http://www.yourinspirationweb.com/en/how-to-to-create-cheate-chained-select-with-php-and-jquery/
我认为您在getter.php文件的查询中有问题您的查询条款是
其中驱动程序='$ sprojectId'
这意味着选择驱动程序值为$ sprojectId的位置。您必须使用,例如这样
$ query =" select * where driver ='"。现在,它将采用等于$ projectID变量的驱动程序值。希望它可以帮助您。