【发布时间】:2014-09-03 13:26:45
【问题描述】:
我知道这是一个愚蠢的问题,但我是 AJAX 新手,并且 我尝试了许多从互联网上获得的代码,但仍然无法完成这个简单的事情 所以最后我在这里发布我的问题 出了点问题,当我在第一个下拉列表中选择选项时 没发生什么事 数据库表名为 sub_menu 字段如下 id,sub_item_name,item_name,价格
这是我放在 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 调用是否正在执行?如果有,服务器的响应是什么?
-
@Ninsly 如何检查它的执行与否......当我在第一个复选框中选择任何值时,第二个复选框就会消失......所以我猜它会转到 subitem.php 但我不知道如何检查我传入的值是否进入该 subitem.php 页面
-
如果您使用的是普通浏览器,它应该有开发工具(通常可以通过按 F12 来切换)。应该有一个网络或网络选项卡,您可以在其中跟踪请求。
-
我检查了选项卡 Network 并将方法更改为 GET... 这是附加在 url subitem.php?item_name=1&_=1409753659406 末尾的值,这就是我从开发工具中得到的我也检查了响应选项卡,但该选项卡中没有数据......
-
如果将方法更改为
GET,则$_POST数组将为空。当它是POST时是什么响应?
标签: javascript php jquery mysql ajax