我想填充選擇框中的第一個選擇框的選擇,但我有一些麻煩這樣做。根本沒有任何反應填充選擇基於另一個選擇
我有什麼到現在爲止(這是我的頁腳):
<script src="./plugins/bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select.category").change(function(){
var selectedCategory = $(".category option:selected").val();
$.ajax({
type: "POST",
url: "../inc/get_subcat.php",
data: { category : selectedCategory }
}).done(function(data){
$("#subcategory").html(data);
});
});
});
</script>
與DIV的頁面位於/pages/file.php:
<div class="col-md-6">
<div class="form-group">
<label class="control-label">SubCategory</label>
<div id="subcategory"> </div>
</div> </div>
,做文件該查詢位於另一個文件夾(inc/get_subcat.php)中:
<?php
include("config.php");
if(isset($_POST['category'])){
$cat = validar($_POST['category']);
$query = "SELECT id, subcategory FROM subcategories WHERE catid = ?";
#Prepare stmt or reports errors
($stmt = $mysqli->prepare($query)) or trigger_error($mysqli->error, E_USER_ERROR);
#Execute stmt or reports errors
$stmt->bind_param("i", $cat);
$stmt->execute() or trigger_error($stmt->error, E_USER_ERROR);
#Save data or reports errors
($stmt_result = $stmt->get_result()) or trigger_error($stmt->error, E_USER_ERROR);
#Check if are rows in query
if ($stmt_result->num_rows>0) {
echo "<select class='form-control' id='subcategory' name='subcategory'>";
# Save in $row_data[] all columns of query
while($row_data = $stmt_result->fetch_assoc()) {
# Action to do
echo "<option value='$row_data[id]'>$row_data[category]</option>";
}
echo "</select>";
}
$stmt->close();
}
?>
有人可以幫我解決這個錯誤嗎?儘管嘗試了幾個小時,仍無法修復。
謝謝!
編輯: 這是HTML代碼的所有選擇框:
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label">Category</label>
<select class='form-control' id='category' name='category'><option value='1'>Categoria 1</option><option value='2'>Categoria 2</option></select> </div>
</div>
<div class="col-md-6" id="subcategory">
</div>
</div>
您的'$ _POST'網址是否有效?當你去它,或用郵差測試它,它是否加載任何東西? AJAX請求過程?使用您的瀏覽器工具,檢查以確保請求成功處理,以便確定問題的位置。 – kchason
這個方法做什麼'validar()'?並且錯誤報告會丟失什麼? –
我沒有報告任何錯誤。 「validar」只是使用字符串等來避免SQL注入。看起來該腳本沒有調用。我沒有得到任何錯誤。如果我轉到頁面「get_subcat」併爲$ cat定義一個值,它會刪除正確的值。 – Tiago