jQuery中的动态单选按钮组验证

jQuery中的动态单选按钮组验证,jquery,radio,Jquery,Radio,验证的最佳方法是什么,以确保每个组中至少检查一个,因此在以下示例中,组是name1,name2,name3 示例 <input type="radio" name="name1"> <input type="radio" name="name1"> <input type="radio" name="name1"> <input type="radio" name="name2"> <input type="radio" name="

验证的最佳方法是什么,以确保每个组中至少检查一个,因此在以下示例中,组是
name1
name2
name3

示例

<input type="radio" name="name1">
<input type="radio" name="name1"> 
<input type="radio" name="name1"> 

<input type="radio" name="name2"> 
<input type="radio" name="name2"> 
<input type="radio" name="name2">

<input type="radio" name="name3"> 
<input type="radio" name="name3"> 
<input type="radio" name="name3">

我知道我可以用一个div包住每个div,然后检查div中的每个单选按钮,但我正在寻找一个更动态的解决方案。因此,如果将来添加更多单选按钮,jQuery代码将不需要更改,div也不需要添加-我希望这是有意义的。

您应该使用库来帮助您解决这个问题,请查看他们的

如果你使用这个库,它将非常简单

<input type="radio" name="name1" validate="required:true">
<input type="radio" name="name1">
<input type="radio" name="name1">

<input type="radio" name="name2" validate="required:true">
<input type="radio" name="name2">
<input type="radio" name="name2">

如果你愿意,你也可以做一些更有活力的事情:

var i = 1;
while ($('[name="name'+i+'"]').length != 0) {
    if ($('[name="name'+i+'"]').is(':checked')) {
        // at least one is checked in this group
    } else {
        // none are checked
    }
    i++;
}

为什么不为每个组添加一个class或id属性呢?您可以使用它进行验证谢谢这是一个非常有用的解决方案-我不想只使用插件来验证收音机按钮名称[$(this).attr('name')]=true;do?@contactmatt因为javascript数组是关联的,我相信设置
names['abc']=true
本质上只是将
abc
添加到数组
names
中,如果收音机的名称采用这种格式,这将是一个非常好的解决方案,但我认为作为开发者,他会给他们起一个更重要的名字。
$('[name="name1"]:checked').length != 0
$('[name="name1"]').is(':checked')
var i = 1;
while ($('[name="name'+i+'"]').length != 0) {
    if ($('[name="name'+i+'"]').is(':checked')) {
        // at least one is checked in this group
    } else {
        // none are checked
    }
    i++;
}