例如:
数据库中有五个名称(或者不止于此): ANGGIE,BOB,CHUCK,DEAN,EAST。
HTML:
<form name = "test">
<?php $num++; ?>
<td> [each names in the database] </td>
<td><input type = "radio" id = "yes" name = "status'.$num.'" value = "1" /></td>
<td><input type = "radio" id = "no" name = "status'.$num.'" value = "0" /></td>
</form>
<div id="message"></div>
结果:
ANGGIE YES NO
BOB YES NO
CHUCK YES NO
DEAN YES NO
EAST YES NO
jQuery的:
$(':radio:checked').each(function(){
alert($(this).val());
});
问题一个 我想在Jquery中获得单选按钮的值,但我得到的只是单击的第一个单选按钮组。 如果我在ANGGIE上单击是或否,将显示值,但如果我在其他名称上单击是或否,则该值将不会显示。
那么如何让它全部运转? 感谢。
答案
$(document).ready(function(){
$("form[name='test']").submit(function(){
$(':radio:checked').each(function(){
alert($(this).val());
});
return false;
});
});
谢谢 Kingkero 代码有效,因为 - &gt; $( “形式[名称= '测试']”)。这一次我把$(输入[name ='status']:选中),这就是为什么它不起作用,只出现一个值。
问题两个 另一个问题是我仍然试图将值插入数据库使用ajax。
$(document).ready(function() {
getValue();
});
function getValue() {
$("form[name='frm_filter']").submit(function(){
$(':radio:checked').each(function(){
var test = $(this).val();
//alert($(this).val());
var html = $.ajax({
type: "POST",
url: "result.php",
data : ({test : test,
pseudoParam : new Date().getTime()
}),
async: false,
cache: false
}).responseText;
$("#message").html(html);
});
return false;
});
}
在PHP中:
当echo $ test = $ _POST [“test”];它只插入一个数据,是最后一次检查。 我该怎么办?
答案2 好的,我已经得到了第二个问题的答案: 它应该是这样的:
$(document).ready(function() {
$('#btnSave').click(function() {
getValue();
});
});
function getValue() {
var data = $(":radio:checked").serialize();
var html = $.ajax({
type: "POST",
url: "result.php?"+data,
data : ({data: data,
pseudoParam : new Date().getTime()
}),
async: false,
cache: false
}).responseText;
$("#message").html(html);
}
PHP中的:
call data by $_REQUEST["status$num"];
叹息终于〜
答案 0 :(得分:1)
利用serialize()
,因此您无需为输入使用“其他”each()
循环。此外,您的循环包括ID,如果有5,将导致冲突,因为您将为各种元素使用多个ID。如果您希望将其设为“是”或“否”,请更改该值
http://jsfiddle.net/r3An2/ - DEMO
var data = $('#testform').serialize();
alert(data);
另外,请确保您的<input />
有结束标记;)
答案 1 :(得分:0)
您需要记住变量的上下文。在您提供的示例代码中,&#39;。$ num。&#39;没有被评估。括号中的循环也不是。您需要将它们包含在标记中,如下所示:
<form name = "test">
<table>
<?php for ( $num=0; $num < 5; $num++) { ?>
<tr>
<td><?php echo $row[$num]['NAME']; ?></td>
<td><input type="radio"
id="yes<?php echo $num; ?>"
name="status<?php echo $num; ?>" value="1"/>
</td>
<td><input type="radio"
id="no<?php echo $num; ?>"
name="status<?php echo $num; ?>"
value="0"/>
</td>
</tr>
<?php } ?>
</form>