【发布时间】:2018-08-30 14:29:13
【问题描述】:
我正在尝试链接三个 html 选择来过滤我的数据库表: 这是表格:
**Product: id | id_typed | product_name;
type: id | product_name;
msn: id | msn_name;
prod_msn : id_prod | id_msn**
每种类型都有很多产品,每个产品都是一个或多个 msn 的一部分 我想在选择类型时链接三个html选择来过滤产品,并在选择产品时过滤msn。
我的html:
<html>
<div id="typeDiv"><select id="type" name="type"></select></div>
<div id="productDiv"><select id="prod" name="prod"></select></div>
<div id="msnDiv"><select id="msn" name="msn"></select></div>
<script>
$(document).ready(function(){
$('#type').change(function(){
loadProduct($(this).find(':selected').val())
})
$('#product').change(function(){
loadMSN($(this).find(':selected').val())
})
})
function loadType(){
$.ajax({
type: "POST",
url: "ajax/ajax.php",
data: "get=type"
}).done(function( result ) {
$(result).each(function(){
$("#type").append($('<option>', {
value: this.id,
text: this.type_name,
}));
})
});
}
function loadProduct(typeID){
$("#prod").children().remove()
$.ajax({
type: "POST",
url: "ajax/ajax.php",
data: "get=productID&typeId=" + typeID
}).done(function( result ) {
$(result).each(function(){
$("#state").append($('<option>', {
value: this.id,
text: this.product_name,
}));
})
});
}
function loadMSN(productID){
$("#msn").children().remove()
$.ajax({
type: "POST",
url: "ajax/ajax.php",
data: "get=MSN&product=" + productID
}).done(function( result ) {
$(result).each(function(){
$("#msn").append($('<option>', {
value: this.id,
text: this.name,
}));
})
});
}
loadType();
</script>
</html>
对于文件 Ajax.php:
<?php
$typeID = isset($_POST['typeID']) ? $_POST['typeID'] : 0;
$productID = isset($_POST['productID']) ? $_POST['productID'] : 0;
$command = isset($_POST['get']) ? $_POST['get'] : "";
switch($command){
case "type":
$statement = "SELECT id, type_name FROM type";
break;
case "prod":
$statement = "SELECT id, product_name FROM product WHERE id_type=".(int)typeID;
break;
case "msn":
$statement = "select m.MSN_NAME
from msn m, PROD_MSN pm
where pm.id_msn = m.ID
and pm.id_prod =".(int)productID;
break;
default:
break;
}
$sth = $dbh->prepare($statement);
$sth->execute();
$result = $sth->fetchAll();
echo json_encode($result);
exit();
?>
我没有得到任何结果,我尝试了很多教程,我应用的代码取自 here:
如果您知道问题出在哪里,它将对我有所帮助。 谢谢。
【问题讨论】:
-
错误信息?你看过 PHP 错误日志吗? Apache 错误日志?浏览器调试器?任何错误日志
-
@RiggsFolly $(document).ready(function(){ $ 未定义
-
您的页面中没有包含 jQuery 库! @Devweb
标签: php jquery html ajax filter