【发布时间】:2016-08-12 11:22:29
【问题描述】:
我有一个从现有数据库中提取一些下拉数据的表单。我一直在研究第二个下拉列表,它引用第一个下拉列表以从不同的数据库获取更具体的信息,但是看起来我的代码在某个地方被破坏了。第一个下拉列表填充得很好,但是当我选择“经理”时,站点下拉列表变为空白,我什至失去了“选择站点”选项。
任何帮助将不胜感激。
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script>
function getSite(val) {
$.ajax({
type: "POST",
url:"get_site.php",
data:'manager_id='+val,
success: function(data){
$("#site-list").html(data);
}
});
}
</script>
html/php
Manager<br/>
<select name="manager_id" onChange="getSite(this.value);">
<option value="">Select Manager</option>
<?php
$results = mysql_query("SELECT * FROM _managers");
while ($row_unit = mysql_fetch_array($results)){
?>
<option value="<?php echo $row_unit["id"]; ?>"><?php echo $row_unit["company"]; ?></option>
<?php
}
?>
</select>
<br/><br/>
Site<br/>
<select name="site_id" id="site-list">
<option value="">Select Site</option>
</select>
get_site.php
<?php
include('includes/connect-db.php');
if(!empty($_POST["manager_id"])) {
$manager_id = $_POST["manager_id"];
$results = mysql_query("SELECT * FROM _sites WHERE manager_id = $manager_id");
?>
<option value="">Select Site</option>
<?php
while ($row_site = mysql_fetch_array($results)){
?>
<option value="<?php echo $row_site["id"]; ?>"><?php echo $row_site["site_name"]; ?></option>
<?php
}
}
?>
【问题讨论】:
-
$("#site-list").append(data); -
感谢@Saurabh 的帮助。我进行了调整,但仍然没有从“get_site.php”文件中获取我的值。虽然现在“选择站点”保留在站点下拉列表中。
-
这是因为您在 while 循环中回显。首先将所有数据放入数组中,然后回显该变量。我个人更喜欢 echo 使用
json_encode
标签: php jquery drop-down-menu