我想填充选择框中的第一个选择框的选择,但我有一些麻烦这样做。根本没有任何反应填充选择基于另一个选择
我有什么到现在为止(这是我的页脚):
<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