我刚接触编程,刚刚完成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>
如果有人能够指出我的错误并给我指出纠正它,我将非常感激。谢谢!
答案 0 :(得分:1)
有很多代码可以帮助你,但是因为你说jQuery部分不起作用:
$("#category").onchange(function(){
这应该是
("#category").on("change", function(){
jQuery 1.10(或任何其他版本?)中没有onchange
。简要介绍一下控制台会向您显示我猜错误。此外,您还应将所有其他调用放在$(document).ready
内。
答案 1 :(得分:0)
尝试使用页面网址而不是文件名。例如 - url to AddItemSubCat.php