检查是否已选择单选按钮组

时间:2014-08-07 18:10:22

标签: javascript jquery

我目前有一个带有一系列单选按钮选项的表单。

<input type="radio" name="prof['.NET']" value="Advanced" class="prof">
<input type="radio" name="prof['.NET']" value="Intermediate" class="prof">
<input type="radio" name="prof['.NET']" value="Beginner" class="prof">
<input type="radio" name="prof['.NET']" value="None" class="prof">

<input type="radio" name="prof['VBA']" value="Advanced" class="prof">
<input type="radio" name="prof['VBA']" value="Intermediate" class="prof">
<input type="radio" name="prof['VBA']" value="Beginner" class="prof">
<input type="radio" name="prof['VBA']" value="None" class="prof">

我正在尝试遍历每组单选按钮,看看是否从每个组中选择了一个。

我不熟悉如何像这样循环数组。

2 个答案:

答案 0 :(得分:2)

要检查是否选择了来自组的按钮,您可以使用:

$('input:radio[name="prof[\'.NET\']"]').is(":checked");

$('input:radio[name="prof[\'VBA\']"]').is(":checked");

答案 1 :(得分:0)

您可以执行完全通用的解决方案。我打了一个检查按钮并设置了以下点击事件:

$('#check').click(function(){
    var names = {};
    $('.prof').filter(':radio').each(function(){
        var name = $(this).attr('name');
        if( undefined === names[name] ){
            names[name] = false;
        }
        if( $(this).is(':checked') ){
            names[name] = true;
        }
    });

    $.each(names, function(name, val){
        if( !val ){
            alert(name + ' is not selected');
        }
    });
});

但是,如果您希望确定它已被选中,您可能需要查看jQuery validation plugin(可能还有其他人,这就是我使用的那个)。然后你只需添加一个必需的类。

Working fiddle