关于用jquery获取所有radio的值的问题
因为做了一个问卷,有多个单选题,想获取所有radio的值,但是如果有一道题没有做任何选项的时候,想用下面的else语句给赋值为novalue,但是输出的结果就变成了一个c...
因为做了一个问卷,有多个单选题,想获取所有radio的值,但是如果有一道题没有做任何选项的时候,想用下面的else语句给赋值为no value,但是输出的结果就变成了一个checked的值一个no value这样循环,请问是哪里出了问题呢?
var radio_value=[];
$('input:radio').each(function(){
if($(this).is(':checked')){
radio_value.push($(this).val());
}
else
radio_value.push("no value");
}); 展开
var radio_value=[];
$('input:radio').each(function(){
if($(this).is(':checked')){
radio_value.push($(this).val());
}
else
radio_value.push("no value");
}); 展开
1个回答
展开全部
够呛。如果我做的话每道题肯定有一个div的,类似
<div class='question'><strong>问题</strong><br />
<ul>
<li><input type="radio" name="q1" value='a' />答案A</li>
...
</ul>
</div>
然后js是
$('div.question').each(function(){
if($(this).find('input:checked').length > 0) {
radio_value.push($(this).find('input:checked:first').val());
} else {
radio_value.push("no value");
}
});
追问
额。。。我只是想知道我那样写错在哪里而已
追答
radio是应该根据name分组的,$('input:radio')是所有的单项,而不是分组后的结果。
按你说的“但是输出的结果就变成了一个checked的值一个no value这样循环“ 那你肯定都是2选一的题目咯,肯定啊,假如说只有一道题,$('input:radio')会得到两个结果,但是按照规则,这两个中只有一个能被选中,必然一个checked一个novalue。如果是4选1,那就会一个checked+3个novalue了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询