我一直在尝试创建一个带有从 MYSQL 中获取数据的动态下拉列表的表单。我的数据库很好,没有错误。
第一类下拉菜单工作正常,但我想知道为什么我的第二类下拉菜单不起作用。我只是无法追踪代码中的任何错误,但这种情况正在发生。这是我的代码:
动态下拉表单代码:
<?php
include_once "connection.php";
?>
<!DOCTYPE html>
<html>
<head>
<title>Dropdown Ajax</title>
</head>
<body>
<div class="country">
<label>Country</label>
<select name="country" onchange="getId(this.value);">
<option value="">Select Country</option>
//populate value using php
<?php
$query = "SELECT * FROM country";
$results=mysqli_query($con, $query);
//loop
foreach ($results as $country){
?>
<option value="<?php echo $country["cid"];?>"><?php echo $country["country"];?></option>
<?php
}
?>
</select>
</div>
<div class="city">
<label>City</label>
<select name="city" id="cityList">
<option value=""></option>
</select>
</div>
<script src="https://code.jquery.com/jquery-3.1.1.js" integrity="sha256-
16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA=" crossorigin="anonymous">
</script>
<script>
function getId(val){
//We create ajax function
$.ajax({
type: "POST",
url: "getdata.php",
data: "cid="+val,
success: function(data){
$(#cityList).html(data);
}
});
}
</script>
</body>
</html>
数据库连接代码:
<?php
$con = mysqli_connect("localhost", "root", "kensift", "tuts");
//Check connection
if(mysqli_connect_errno()){
echo "Failed to connect:".mysqli_connect_errno();
}
?>
第二个动态下拉列表的代码:
<?php
include_once "connection.php";
if (!empty($_POST["cid"])) {
$cid = $_POST["cid"];
$query="SELECT * FROM city WHERE cid=$cid";
$results = mysqli_query($con, $query);
foreach ($results as $city){
?>
<option value="<?php echo $city["cityId"];?>"><?php echo $city["city"];?>
</option>
<?php
}
}
?>
这三个代码部分在不同的文件中。
最佳答案
我认为您的代码是正确的,只是忘记了引号 ID“#cityList”。
应该是
$("#cityList").html(data);
关于php - 使用 PHP 和 MYSQL 的动态下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154810/