Determine if every radio group has had an option selected

后端 未结 6 1888
南旧
南旧 2020-12-21 02:18

I need to make sure that all the radio groups have been answered before I enable the submit button. If I have:

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


        
6条回答
  •  南方客
    南方客 (楼主)
    2020-12-21 02:32

    If you know how many groups you have you can just do:

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

    Otherwise you need to count the number of groups first. I can't think of any way to do this better then:

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

提交回复
热议问题