我正在尝试创建一个下拉列表,以选择依赖于另一个下拉列表国家的州。
根据从第一个列表中选择的国家/地区,第二个下拉列表应显示该国家/地区的相应状态。
对于这两个下拉列表,我都需要从SQL server数据库中获取值。
下面是我尝试的代码:
<html>
<head>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#country").change(function(){
var country=$("#country").val();
$.ajax({
type:"post",
url:"getcity.php",
data:"country="+country,
success:function(data){
$("#city").html(data);
}
});
});
});
</script>
</head>
<body>
Country :
<select name="country" id="country">
<option>-select your country-</option>
<?php
include "dbconfig.php";
$sql = "SELECT [CountryId],[Country] from Country order by [Country]";
$result=sqlsrv_query($conn,$sql);
while($country = sqlsrv_fetch_array($result)){
echo "<option value = $country[CountryId]>$country[Country]</option>";
} ?>
</select>
City :
<select name="city" id="city">
<option>-select your city-</option>
</select>
</body>
</html>下面是getcity.php代码:
<?php
include "dbconfig.php";
$country=$_POST["country"];
$sql= "select [StateID],[State] from State where CountryId='$country'";
$result=sqlsrv_query($conn,$sql);
while($city=sqlsrv_fetch_array($result)) {
echo"<option value='$city[StateID]'>$city[State]</option>";
}
?>我在文件dbconnection.php中编写了数据库连接代码,它工作正常,成功地连接了数据库。
我的问题是:
当我运行这段代码时,我无法在选择国家后获得州的下拉列表。
代码不会返回任何错误,即使在选择国家后没有出现状态的下拉列表。
请告诉我我哪里做错了,希望这会对我有很大帮助。
如有任何帮助,我们将不胜感激:)
发布于 2015-04-14 20:26:42
您需要将选项附加到选择框中,而不是设置它的HTML。用$("#city").append(data);替换;$("#city").html(data);。我希望这能帮到你。
https://stackoverflow.com/questions/29626990
复制相似问题