我试图从单选按钮获取价值,如果性别是男性还是女性。我把它存储在value变量中,但是当它传递给$ .post时它不起作用? 代码段是 -
$(document).ready(function() {
// Handler for .ready() called.
$("input:radio[name=gender]").click(function() {
var value = $(this).val();
alert (value);
});
alert (value);
$.post("gendersearch.php", {queryString: ""+value+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
});
这可以纠正吗?有什么问题。
答案 0 :(得分:3)
$("input:radio[name=gender]").click(function() {
var value = $(this).val();
alert (value);
});
alert (value);
请检查变量的范围value
在外面定义并尝试这样
var value = '';
$("input:radio[name=gender]").click(function() {
value = $(this).val();
alert (value);
});
alert (value);
答案 1 :(得分:1)
将value
变量放在click
事件之外。
$(document).ready(function() {
// Handler for .ready() called.
var value = "";
$("input:radio[name=gender]").click(function() {
value = $(this).val();
alert(value);
});
alert(value);
$.post("gendersearch.php", {
queryString: "" + value + ""
}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
});
答案 2 :(得分:1)
正如所建议的,你要么以两种方式做到这一点 -
第一个
在点击功能上方声明var value = '';
,就像下面的代码一样
$(document).ready(function() {
// Handler for .ready() called.
var value="";
$("input:radio[name=gender]").click(function() {
value = $(this).val();
alert (value);
});
alert (value);
$.post("gendersearch.php", {queryString: ""+value+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
});
<强>第二强>
另一种方法是在click函数
中声明post方法 $(document).ready(function() {
// Handler for .ready() called.
$("input:radio[name=gender]").click(function() {
var value = $(this).val();
alert (value);
$.post("gendersearch.php", {queryString: ""+value+""}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
});
//alert (value);
});
我觉得它有两种方式。但第一个更容易!更好。