我知道这是一个愚蠢的问题,但我是新的AJAX和 我尝试了很多从互联网上获得的代码,但仍然无法做到这一点简单的事情 因此最后我在这里发布我的问题 有些事情是错误的当我选择第一个下拉列表选项 什么也没有发生 数据库表名是sub_menu及其字段说明如下 ID,sub_item_name,ITEM_NAME,价格如何在php中使用多个下拉菜单中的AJAX?
这是我的脚本,我把additem.php文件
<script>
function showSubItem(sel) {
var item_name = sel.options[sel.selectedIndex].value;
$("#subItemTr").html("");
if (item_name.length > 0) {
$.ajax({
type: "POST",
url: "subitem.php",
data: "item_name="+item_name,
cache: false,
success: function(html) {
$("#subItemTr").html(html);
}
});
}
}
</script>
和他是我的两个下拉菜单都是以表格的形式 我主菜单还在工作,显示从数据库中的所有选项,所以我不张贴的 一部分这里
<tr>
<td width="251">Select Master Menu Name</td>
<td width="47">:</td>
<td width="342"><select name="iname" id="iname" class="form-control" onChange="showSubItem(this);">
<option selected="selected">Select Main Menu</option>
<?php
$abc = "select * from main_menu";
$lkg = mysql_query($abc);
while($ukg = mysql_fetch_row($lkg))
{
?>
<option><?php echo $ukg[1]; ?></option>
<?php } ?>
</select> </td>
</tr>
<tr>
<td width="251">Sub Item Name</td>
<td width="47">:</td>
<td width="342" id="subItemTr" ><select name="subname" id="subname" class="form-control">
<option selected="selected">Select Sub Item</option>
</select></td>
</tr>
这里是我的subitem.php文件代码如下
<?php
include 'config.php';
$item_name = ($_POST["item_name"] <> "") ? trim(addslashes($_POST["item_name"])) : "";
if ($country_id <> "") {
$sql = "SELECT * FROM sub_menu WHERE item_name = ".$item_name ." ORDER BY sub_item_name";
$count = mysql_num_rows(mysql_query($sql));
if ($count > 0) {
$query = mysql_query($sql);
?>
<select name="sub_item">
<option value="">Please Select</option>
<?php while ($rs = mysql_fetch_array($query)) { ?>
<option><?php echo $rs["item_name"]; ?></option>
<?php } ?>
</select>
<?php
}
}
?>
是AJAX调用执行?如果是这样,服务器的响应是什么? – Stryner 2014-09-03 13:31:47
@Ninsly如何检查它的执行与否......当我在第一个复选框中选择任何值时,第二个就会消失...所以我想它会去subitem.php,但我不知道如何检查我传递给subitem.php页面的值是否为 – 2014-09-03 13:45:04
如果您使用的是普通浏览器,它应该有开发工具(通常可以通过按F12切换)。应该有一个网络或网络选项卡,您可以在其中跟踪请求。 – Stryner 2014-09-03 13:52:33