-1

我是编程新手,刚刚完成了 CodeAcademy 上的 jquery 课程。我目前正在尝试使用 Jquery 的 AJAX 函数创建一个链式选择来调用一个 php 页面,该页面在我的数据库上运行一个查询并将其回显到我的主 html 页面.

目前,我只能加载我的第一个,第二个和第三个选择似乎没有工作,我不知道我做错了什么。

jQuery代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#category").load("AddItemCat.php");
});

$("#category").onchange(function(){
    var category=$("#category").val();
    $("#subcat").load("AddItemSubCat.php?category="+category);
});

$("#subcat").onchange(function(){
    var category=$("#category").val();
    var subcat=$("#subcat").val();
    $("#subcat").load("AddItemSubCat.php?category="+category+"&subcat="+subcat);
});

我的 HTML 表单:

<form action="<?PHP echo $_SERVER['PHP_SELF'] ?>" name="edititem" enctype="multipart/form-data" method="POST">
<table border='1'>
<tr>
<td colspan="3">
  Category:
    <select name="category" id="category" ></select>



  SubCategory:
    <select id="subcat" name="subcat"></select>


  Item:
    <select id="item" name="item"></select>
</td>
</tr>

<tr>
  <td>Item Name</td>
  <td><input type="text" name="itemname" size="30" maxlength="50" required="required"></td>
</tr>
<tr>
  <td>Item Price</td>
  <td><input type="number" name="itemprice" size="30" min="1" required="required"></td>
</tr>
<tr>
  <td>Item Info</td>
  <td><textarea name="iteminfo" col="40" rows="10" maxlength="300" required="required"></textarea>
</tr>

<tr>
  <td>Filename:</td>
  <td><input type="file" name="upload[]" /></td>
</tr>

<tr>
  <td>Filename:</td>
  <td><input type="file" name="upload[]" /></td>
</tr>

<tr>
  <td>Filename:</td>
  <td><input type="file" name="upload[]" /></td>
</tr>

<tr>
  <td>Filename:</td>
  <td><input type="file" name="upload[]" /></td>
</tr>

<tr>
  <td>Filename:</td>
  <td><input type="file" name="upload[]" /></td>
</tr>
<tr>
 <td colspan="2"><input type="SUBMIT" name="Button" value="Submit"></td>
</tr>
<tr>
  <td colspan="2"><?PHP if(isset($errormsg)){echo"$errormsg";}?></td>
</tr>       
<tr>
  <td colspan="3"><font color="#FF0000"></font></td>            
</tr> 

如果有人能指出我的错误并给我指点以纠正它,我将不胜感激。谢谢!

4

2 回答 2

2

有很多代码可以帮助您,但是既然您说 jQuery 部分不起作用:

$("#category").onchange(function(){

这应该是

("#category").on("change", function(){

jQuery 1.10(或任何其他版本?)中没有onchange。简要查看控制台会向您显示我猜的错误。此外,您也应该将所有其他电话都放在里面$(document).ready

于 2013-08-08T08:07:47.343 回答
0

尝试使用页面 url 而不是文件名。例如 -url to AddItemSubCat.php

于 2013-08-08T08:11:33.223 回答