如果未选择任何单选框,则返回0,如果选中,则返回所选值
<div class="radiogroup">A.
<input type="radio" name=a1 value="1">$item[2]
<br/>B.
<input type="radio" name=a1 value="2">$item[3]
<br/>C.
<input type="radio" name=a1 value="3">$item[4]
<br/>D.
<input type="radio" name=a1 value="4">$item[5]
<br/>E.
<input type="radio" name=a1 value="0">Not sure
<br/>
</div>
<div class="radiogroup">A.
<input type="radio" name=a2 value="1">$item[2]
<br/>B.
<input type="radio" name=a2 value="2">$item[3]
<br/>C.
<input type="radio" name=a2 value="3">$item[4]
<br/>D.
<input type="radio" name=a2 value="4">$item[5]
<br/>E.
<input type="radio" name=a2 value="0">Not sure
<br/>
</div>
<div class="radiogroup">A.
<input type="radio" name=a3 value="1">$item[2]
<br/>B.
<input type="radio" name=a3 value="2">$item[3]
<br/>C.
<input type="radio" name=a3 value="3">$item[4]
<br/>D.
<input type="radio" name=a3 value="4">$item[5]
<br/>E.
<input type="radio" name=a3 value="0">Not sure
<br/>
</div>
这是我的代码:
$(function () {
$("#submit").click(function () {
var arr = new array();
var k = 0;
$(".radiogroup").each(function () {
if ($(this."input:radio:checked").length == 0) {
arr[k++] = 0;
} else {
arr[k++] = $(this."input:radio:checked").val();
}
});
return false;
});
});
我所坚持的是我不知道如何使用“this”来选择div包装器中的无线电组,例如,如果我需要提醒每个检查的值,我想这样做,它虽然不起作用:
$(".radiogroup").each(function () {
alert($(this.input: radio: checked).val());
});
在最终生成html代码之前,无线电组的数量是不确定的,因此name = a1,name = a2会停止到我甚至不知道的数字,这意味着无法使用name作为变量。环
我需要在每个div包装器中选中已选中的单选框,每个收音机没有id,如何做到这一点?
答案 0 :(得分:2)
您需要更改
if ($(this."input:radio:checked").length == 0) {
到
if ($(this).find("input[type=radio]:checked").length == 0) {
和
arr[k++] = $(this."input:radio:checked").val();
到
arr[k++] = $(this).find("input[type=radio]:checked").val();
答案 1 :(得分:1)
您需要更改说
的行 $(this."input:radio:checked")
到
$(this).find("input[type='radio']:checked"
和
var arr = new array();
以下任一项:
var arr = new Array();
var arr = [];
那就解决了。
这是一个fiddle,它有一个工作示例。
答案 2 :(得分:0)
你可以这样做:
$(".radiogroup").each(function() {
console.log($(this).children("input[type='radio']:checked").val());
});