实施例
<div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>
<div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>
<div id="radio">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" value="2" checked="checked" /><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Choice 3</label>
上述无线电组是动态生成的。 我需要在其中识别未检查的无线电组。
答案 0 :(得分:1)
首先,单选按钮用于您希望用户一次只选择一个按钮。所以,我认为你宁愿使用复选框,而不是单选按钮。
话虽如此,我认为使用jQuery实现目标的最简单方法是使用:not选择器。此代码将为您提供未选中的所有复选框:
var notChecked = $('input:not(:checked)')
这是演示文稿的小提琴:http://jsfiddle.net/nasuf96b/
显然,必须要进行一些错误处理,但是你明白了。
祝你好运。我现在看到你在追求什么。看看这个小提琴:http://jsfiddle.net/nasuf96b/1/。 它会告诉您组中是否没有选择任何内容,我认为这是您想要做的。
$('input').on('click', function() {
check_all();
});
function check_all() {
var outputText = 'These are not checked: ';
var myDivs = $('div.radio');
for (var i=0; i<myDivs.length; i++) {
var isChecked = false;
var childInputs = myDivs[i].getElementsByTagName('input');
for (var j=0; j<childInputs.length; j++) {
if (childInputs[j].checked == true) {
isChecked = true;
}
}
if (isChecked == false) {
outputText += (i+1) +', ';
}
}
alert(outputText.slice(0, -2));
}