【发布时间】:2010-05-31 06:27:58
【问题描述】:
我正在学习 JQuery,这主要归功于 Stack Overflow 上的积极参考。我需要一个函数来检查具有相同 CSS 类的元素中的所有复选框。如果至少检查其中一个,它应该返回 true。元素中还有其他与勾选无关的框。
CSS 类是不必要的,仅用于创建一种识别组中复选框的方法。这感觉像是一种不好的做法,因此欢迎任何有关其他识别它们的方法的建议。
【问题讨论】:
标签: jquery validation
我正在学习 JQuery,这主要归功于 Stack Overflow 上的积极参考。我需要一个函数来检查具有相同 CSS 类的元素中的所有复选框。如果至少检查其中一个,它应该返回 true。元素中还有其他与勾选无关的框。
CSS 类是不必要的,仅用于创建一种识别组中复选框的方法。这感觉像是一种不好的做法,因此欢迎任何有关其他识别它们的方法的建议。
【问题讨论】:
标签: jquery validation
检查是否至少有一个被选中:
$(".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" />
像魅力一样工作。感谢您的建议。
【讨论】: