我正在学习 JQuery,多亏了 Stack Overflow 上的正面推荐。我需要一个函数,它可以检查元素中具有相同 CSS 类的所有复选框。如果其中至少有一个被选中,则应返回 true。元素中还有其他不相关的框。
CSS 类是不必要的,只是为了创建一种识别组内复选框的方式。这感觉像是不良做法,因此欢迎任何关于其他识别它们的方法的建议。
我正在学习 JQuery,多亏了 Stack Overflow 上的正面推荐。我需要一个函数,它可以检查元素中具有相同 CSS 类的所有复选框。如果其中至少有一个被选中,则应返回 true。元素中还有其他不相关的框。
CSS 类是不必要的,只是为了创建一种识别组内复选框的方式。这感觉像是不良做法,因此欢迎任何关于其他识别它们的方法的建议。
检查至少有一个是否被选中:
$(".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
由于页面布局的原因,无法使用单选按钮列表。我使用了自定义验证器来解决这个问题。
将以下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" />
非常好用,感谢您的建议。