在启用提交按钮之前,我需要确保所有广播组均已应答。如果我有:

var radioBtns = $('input').filter(':radio');


它告诉我有多少个单选按钮,但是我需要知道是否有尚未选择选项的组。

最佳答案

如果您知道有多少组,您可以执行以下操作:

if($('input:radio:checked').length < numGroups){
    // At least one group isn't checked
}


否则,您需要首先计算组数。我想不出什么办法可以做到更好:

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!');

09-25 18:05