我試圖在選擇第一個選項後填充第二個下拉列表,第二個下拉列表中沒有任何內容出現。Onchange根據值填充不同的下拉列表
我的第一選擇:
<select name="inst" class="form-control" required="" id="inst">
<option value=0 selected=1>Select...</option>
<?php
$sql="SELECT * FROM sapinst";
$myData=mysqli_query($GLOBALS['con'],$sql);
if (mysqli_num_rows($myData) > 0){
while ($row = mysqli_fetch_array($myData))
{
echo '<option value="' .$row["nbd"]. '">' .$row["nome"]. '</option>';
}
}
else{echo "No categories were found!";}
?>
</select>
我的第二個選擇:
<select id= "sub" name="sub" class="form-control"></select>
我的腳本:
<script type="text/javascript">
$("#inst").change(function() {
//get category value
var cat_val = $("#inst").val();
// put your ajax url here to fetch subcategory
var url = '/ajax.php';
// call subcategory ajax here
$.ajax({
type: "POST",
url: url,
data: {
cat_val: cat_val
},
success: function (data)
{
$("#sub").html(data);
}
});
});
</script>
我Ajax.php文件:
<?php
require_once 'edp/configdbedp.php';
$prod_cat = $_POST['cat_val'];
$sql = "SELECT * FROM " . $dbname . ".sappainel WHERE nbd = '$prod_cat'";
$result = mysqli_query($conn, $sql);
$msg = '';
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result)) {
$msg =. '<option value="' . $row["nome"] . '">' . $row["nome"] . '</option>';
}
} else {
$msg .= "No categories were found!";
}
echo $msg;
mysqli_close($conn);
?>
如果我嘗試在Ajax php中打印某些東西,我不能...似乎ajax.php不會運行。 我是否正確地調用它?
您對此條線路上的服務器端錯誤:'$味精=「。 '; '.'應該放在'=='之前,這樣你就可以擁有'$ msg。='';' ' –
謝謝Masivuye,但第二個下拉列表繼續沒有任何東西 –
你在第二個下拉菜單上得到什麼 –