我有几个radiobuttongroup,我需要在检查脚本时运行它。
我使用以下脚本检查其中一个是否已选中,如果没有,则将其着色。
如何制作代码,以便在选中所有radiobuttongroup时,运行脚本。
检查radiobuttongroup是否被检查的代码:
$('.aQuestion').each(function(){
if($(this).find('input[type="radio"]:checked').length > 0)
{
alert("checked");
}
else
{
alert("not checked");
}
});
radiobuttongroups(大约有90个):
<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>
提前致谢:D
答案 0 :(得分:4)
假设每个问题只有一个单选按钮组,您不需要迭代这些问题,以便找出所有选中的问题:
var $questions = $(".aQuestion");
if($questions.find("input:radio:checked").length === $questions.length) {
// All Checked
}
jsFiddle演示了上述内容。
答案 1 :(得分:0)
试试这个:
$(document).on('ready change','.aQuestion',function(){
if($(this).find('input[type="radio"]:checked').length > 0)
{
alert("checked");
}
else
{
alert("not checked");
}
});
答案 2 :(得分:0)
最终代码:
jQuery('#submit').click(function(event)
{
event.preventDefault();
$('.aQuestion').each(function()
{
if($(this).find('input[type="radio"]:checked').length > 0)
{
$(this).addClass( "madeChoice" ); // Run css that hides the group
}
else
{
$(this).addClass( "didntMakeChoice" ); // Run css that highlight the group.
}
});
var $questions = $(".aQuestion");
if($questions.find("input:radio:checked").length === $questions.length)
{
alert("all checked"); // Send result to DB.
}
else
{
alert("Not Checked"); // Do nothing.
}
});