JQuery - 至少检查了一个复选框

时间:2010-05-31 06:27:58

标签: jquery validation

我正在学习JQuery,主要是感谢Stack Overflow上的积极参考。我需要一个函数来检查元素中具有相同CSS类的所有复选框。如果至少检查其中一个,则应返回true。元素中还有其他框与检查无关。

CSS类是不必要的,只是为了创建一种识别组中复选框的方法。感觉这是不好的做法,所以欢迎任何有关识别它们的其他方法的建议。

2 个答案:

答案 0 :(得分:24)

检查是否至少检查了一个:

 $(".classname:checked", container).length > 0

“container”是(可选)容器元素。

如果您想避免使用类名进行分组,您应该只为每个复选框指定相同的名称:

<input type="checkbox" name="group1" value="1" />
<input type="checkbox" name="group1" value="2" />
<input type="checkbox" name="group1" value="3" />

然后您可以将测试代码更改为:

 $("[name=group1]:checked").length > 0

答案 1 :(得分:3)

由于页面布局,单选按钮列表不是一个选项。我用自定义验证器解决了它。

将此JavaScript函数添加到页面

function ValidateDDA(s, a) {
    a.IsValid = ($(".chk:checked", $('parentDiv')).length > 0);
}

然后将CustomValidator添加到页面

<asp:CustomValidator runat="server" ID="cvDDLCorrect" ClientValidationFunction="ValidateDDA"
ErrorMessage="No hay resuesta correcta" CssClass="error" />

像魅力一样工作。谢谢你的建议。