我正在学习JQuery,主要是感谢Stack Overflow上的积极参考。我需要一个函数来检查元素中具有相同CSS类的所有复选框。如果至少检查其中一个,则应返回true。元素中还有其他框与检查无关。
CSS类是不必要的,只是为了创建一种识别组中复选框的方法。感觉这是不好的做法,所以欢迎任何有关识别它们的其他方法的建议。
答案 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" />
像魅力一样工作。谢谢你的建议。