好的,所以我正在做一个“快速搜索”的事情。每当表单上的字段发生变化时我都会收到jQuery GET请求,但它无法正常工作。我提供了SSCCE。
不要担心AJAX调用,因为不起作用的是请求。例如,如果我勾选19
,则GET请求仍为Pick one
。
这是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Untitled 3</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function() {
var test = $(".age1").val();
alert(test);
var dataString = "test=" + test;
$("#formtest").live("change", function() {
$.ajax({
type: "GET",
url: "quick_search.php",
data: dataString,
cache: false,
success: function(html) {
$("#display").after(html);
}
});
});
return false;
});
</script>
</head>
<body>
<form action="quick_search.php" id="formtest" method="GET">
live GET
<select class="age1" name='age1'>
<option value='Pick One'>- Pick One -</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
</select>
</form>
<div id="display"></div>
</body>
</html>
答案 0 :(得分:2)
每次值更改时,您都需要更改dataString
的值。目前,您只是在页面加载时更改它,因此它之后永远不会更改。
答案 1 :(得分:2)
尝试在更改功能
中移动var test = $(".age1").val();
答案 2 :(得分:1)
试试这个
$(function() {
$("#formtest").live("change", function () {
$.ajax({
type: "GET",
url: "quick_search.php",
data: "test=" + $(".age1").val(),
cache: false,
success: function(html){
$("#display").after(html);
}
});
});
});