在启用提交按钮之前,我需要确保已经回答了所有无线电组.如果我有:
var radioBtns = $('input').filter(':radio');
Run Code Online (Sandbox Code Playgroud)
它告诉我有多少个单选按钮,但我需要知道是否有任何组尚未选择选项.
如果你知道你有多少个团体,你可以做:
if($('input:radio:checked').length < numGroups){
// At least one group isn't checked
}
Run Code Online (Sandbox Code Playgroud)
否则,您需要先计算组数.我想不出有什么方法可以更好地做到这一点:
var rgroups = [];
$('input:radio').each(function(index, el){
var i;
for(i = 0; i < rgroups.length; i++)
if(rgroups[i] == $(el).attr('name'))
return true;
rgroups.push($(el).attr('name'));
}
);
rgroups = rgroups.length;
if($('input:radio:checked').length < rgroups)
alert('You must fill in all the fields.');
else
alert('Thanks!');
Run Code Online (Sandbox Code Playgroud)
这有效:
var all_answered = true;
$(':radio').each(function(){
if($(':radio[name='+$(this).attr('name')+']:checked').length == 0)
{
all_answered = false;
}
});
alert(all_answered);
Run Code Online (Sandbox Code Playgroud)
工作演示:http://jsfiddle.net/AlienWebguy/8Cu6d/1/