我正在学习JQuery,主要感谢Stack Overflow的积极参考。我需要一个函数来检查具有相同CSS类的元素中的所有复选框。它应该返回true,如果至少其中一个被选中。元素中还有其他与检查无关的框。JQuery - 至少有一个复选框被选中
CSS类是不必要的,只有创建一种方法来确定组中的复选框。这感觉是不好的做法,所以任何关于其他方法来确定他们的建议是受欢迎的。
我正在学习JQuery,主要感谢Stack Overflow的积极参考。我需要一个函数来检查具有相同CSS类的元素中的所有复选框。它应该返回true,如果至少其中一个被选中。元素中还有其他与检查无关的框。JQuery - 至少有一个复选框被选中
CSS类是不必要的,只有创建一种方法来确定组中的复选框。这感觉是不好的做法,所以任何关于其他方法来确定他们的建议是受欢迎的。
无线电由于页面布局,按钮列表不是一个选项。我用自定义验证器解决了它。
添加此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" />
就像一个魅力。感谢您的建议。
要检查是否至少一个检查:
$(".classname:checked", container).length > 0
“容器” 是(可选的)容器元素。
如果你想避免使用类名进行分组,您应该简单地给每个复选框相同的名字:
<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
很高兴知道。不幸的是,复选框是通过ASP.Net和重写UniqueID是太多的解决方案。 – Laramie 2010-05-31 06:42:20
为多个复选框使用相同名称有什么意义? (除非你使用PHP并用'[]'结束这个名字)如果用户只能选择其中的一个,那么应该使用一个单选按钮。如果他可以选择多个,那么你会以这种方式失去信息。 – Tgr 2010-05-31 07:04:14
当多个复选框具有相同的名称时,您不会丢失信息。如果检查多个项目,则数据将作为“value1,value2,value3”发布到服务器 – 2010-05-31 08:32:58