表单中的单选按钮范围。 jQuery检查是否为每个组选择了一个无线电,如果没有,则为相关标签添加一个类。
我已经检查过,并且该组的名称已正确添加到变量' radio'中。有什么想法吗?
$('.checkbox', this).each(function()
{
var radio = $(this).attr("name");
if ($('input[name='+ radio +']:checked').length)
{
$('label[for=' + radio + ']').addClass('error_label');
required = false;
}
else
{
$('label[for=' + radio + ']').removeClass('error_label');
}
});
答案 0 :(得分:2)
我认为在添加课程时应该像这样检查:
if ($('input[name=' + radio + ']:radio:checked').length == 0) {
// Add class...
}
答案 1 :(得分:1)
这是一种更有效的方法。此外,您可能不希望将“错误”类添加到组中的所有单选按钮标签。
===更新以在代码中包含代码===
<强> HTML 强>
<div class="radio-group">
<h3>Group 1</h3>
<input type="radio" name="group_1" id="opt1" value="1" />
<label for="opt1">Option 1</label>
<br />
<input type="radio" name="group_1" id="opt2" value="2" />
<label for="opt2">Option 2</label>
<br />
<input type="radio" name="group_1" id="opt3" value="3" />
<label for="opt3">Option 3</label>
<br />
</div>
<div class="radio-group">
<h3>Group 2</h3>
<input type="radio" name="group_2" id="opt4" value="1" />
<label for="opt4">Option 1</label>
<br />
<input type="radio" name="group_2" id="opt5" value="2" />
<label for="opt5">Option 2</label>
<br />
<input type="radio" name="group_2" id="opt6" value="3" />
<label for="opt6">Option 3</label>
</div>
<div class="radio-group">
<h3>Group 3</h3>
<input type="radio" name="group_3" id="opt8" value="1" />
<label for="opt8">Option 1</label>
<br />
<input type="radio" name="group_3" id="opt9" value="2" />
<label for="opt9">Option 2</label>
<br />
<input type="radio" name="group_3" id="opt10" value="3" />
<label for="opt10">Option 3</label>
</div>
<div>
<input type="button" id="submit" value="Submit" />
</div>
<强>的JavaScript 强>
$(function(){
$("#submit").click(function(){
$(".radio-group").each(function(){
if($(this).find("input:radio:checked").length) {
$(this).removeClass("error");
}
else {
$(this).addClass("error");
}
});
});
});