[英]jQuery check if Checkboxes are on page
我有一个通过ajax加载的表单。 根据发送来获取表单的参数,该表单可能没有复选框,也可能有一个或多个复选框。
我想检查页面上是否存在一个复选框,如果是,则提示用户在验证过程中选择一个(如果未选中)。
如果存在,则复选框具有相同的类和不同的ID。
<input type="checkbox" name="associatedClass"
value="$associatedClsNumVal" class="getAssociatedClass"
id="$associatedClsNumVal" />
最好的方法是什么? 如果页面/表单中有复选框,jquery可以“感知”吗?
谢谢。
感谢您对我以前的帖子的帮助。 我将其添加到同一类型的问题中。
我现在有一个页面,其中有一个或多个复选框组,我需要确保每个组中仅选中一个复选框。
由于在页面加载之前,我不知道有多少个组,因此最好的检查方法是什么?
谢谢!
最简单的方法是检查页面上是否有任何类型的复选框输入。 使用jQuery,您可以使用CSS选择器(例如input[type="checkbox"]
在DOM中查找元素。 将其与.length
结合使用,您可以获取页面上的数量。 完整的jQuery代码将是
if ( $('input[type="checkbox"]').length ) {
// Validate checkboxes
}
如果页面上可能还有其他不想验证的复选框,则可以将搜索范围限制为特定元素。 例如,如果您只想验证ID为myForm
的特定表单中的复选框,则可以选择该表单并使用.find()
来搜索该表单中以及仅在该表单中的复选框。
if ( $('#myForm').find('input[type="checkbox"]').length )
{
// Validate checkboxes
}
但是,通过验证,您可能希望单独检查每个输入,因此,不仅要检查长度以确保页面上至少有一个复选框,我们还可以使用.each
查找所有复选框,然后一次处理一个复选框。
$('input[type="checkbox"]').each(function () {
// Validate this checkbox
});
这样做的好处是,如果页面上没有任何内容,它将不会尝试验证任何东西,并且完全有效,因此在验证之前,我们无需检查是否有任何东西。
$(':checkbox').length
将为您提供页面上所有复选框的计数。 如果需要更具体,可以通过给他们一个普通的班级来缩小范围。
例如,仅计算类“ section1”的复选框:
var $checks = $('.section1:checkbox');
console.log('There are ' + $checks.length + ' checkboxes');
if ( $( "#myElement" ).length ) {
// Your code here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.