jQuery - 检查是不是选择了多个单选按钮组,然后返回未选择的人的名称
Posted
技术标签:
【中文标题】jQuery - 检查是不是选择了多个单选按钮组,然后返回未选择的人的名称【英文标题】:jQuery - Check if multiple radio button groups are selected, then return name of those who aren'tjQuery - 检查是否选择了多个单选按钮组,然后返回未选择的人的名称 【发布时间】:2014-01-19 05:56:31 【问题描述】:我在一项调查中有 +90 个问题。每个问题有 5 个选项。问题是由 数据库信息。
我需要检查是否所有问题都已回答,如果其中一个问题没有回答,则应提醒。
都分为单选按钮组,我想用jQuery来检查。
if 语句不起作用,唯一得到警告的想法是:“未检查!”
<div class='aQuestion' id='div1'>
<STRONG>1. </STRONG>
<STRONG>Question</STRONG></br>
<INPUT TYPE='radio' NAME='grp1' VALUE='0'>answer 1</br>
<INPUT TYPE='radio' NAME='grp1' VALUE='1'>answer 2</br>
<INPUT TYPE='radio' NAME='grp1' VALUE='2'>answer 3</br>
<INPUT TYPE='radio' NAME='grp1' VALUE='3'>answer 4</br>
<INPUT TYPE='radio' NAME='grp1' VALUE='4'>answer 5
</div>
<div class='aQuestion' id='div2'>
<STRONG>2. </STRONG>
<STRONG>Question</STRONG></br>
<INPUT TYPE='radio' NAME='grp2' VALUE='0'>answer 1</br>
<INPUT TYPE='radio' NAME='grp2' VALUE='1'>answer 2</br>
<INPUT TYPE='radio' NAME='grp2' VALUE='2'>answer 3</br>
<INPUT TYPE='radio' NAME='grp2' VALUE='3'>answer 4</br>
<INPUT TYPE='radio' NAME='grp2' VALUE='4'>answer 5
</div>
(上面还有8个问题)
<script>
jQuery('#submit').click(function(event)
event.preventDefault();
for(i=1;i<=10;i++)
var currentGroup = "grp" + i;
if($("input[name=currentGroup]:checked").val())
alert(currentGroup + ' is checked!');
else
alert(currentGroup + ' is NOT checked!');
);
</script>
提前致谢。如果有人知道如何让用户浏览器视图跳转到未回答的问题,那么我也想听听;)
【问题讨论】:
【参考方案1】:您必须使用.each()
遍历每个具有类aQuestion
的div,并且您需要使用.find()
检查是否在元素内部检查了任何单选按钮。
试试,
$('.aQuestion').each(function()
if($(this).find('input[type="radio"]:checked').length > 0)
alert("checked");
else
alert("not checked");
);
正如mplungjan建议你也可以使用,
$('.aQuestion').each(function()
$(this).toggleClass("didntmakechoice",$(this).find('input[type="radio"]:checked').length == 0);
);
【讨论】:
你知道如何在未选中的 div 上使用 jQuery 吗? @user3033005 是的.. 显然 else 部分实际上是指向没有选中单选按钮的 div。对吧。? 谢谢。您将如何定位特定的 div? $( someLinkToTheDiv ).addClass( "didntMakeChoice" ); @user3033005 在其他部分只写,$(this).addClass('didntmakechoice');
不简单。? :)以上是关于jQuery - 检查是不是选择了多个单选按钮组,然后返回未选择的人的名称的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 单选组验证和启用选项,如果某些单选检查(jsfiddle 提供)