验证所有表单输入是否具有类

时间:2012-10-31 21:18:20

标签: jquery forms class input

我试图弄清楚如何检查特定表单中的所有输入元素是否具有某个类,如果可能的话,不单独检查每个元素。

我知道如何检查单个元素是否有类..

if( $('#element').hasClass('class') ){ Do This...}

我也知道如何使用单行JQuery来影响表单的所有输入。

$('#form > *').on('click', function(){ Do This...});

我似乎无法将两者混合......就像......

if( $('#form > *').hasClass('class') ){ Do This...}

3 个答案:

答案 0 :(得分:7)

只需检查表单中的输入计数是否等于所需类别的输入计数:

var allHaveClass = $('#form input').length == $('#form input.yourclass').length;

在这里,有一个小提琴:http://jsfiddle.net/adrianonantua/2GnaW/

<强>更新

另一种方法:检查表格中是否存在任何没有您的类的输入。

var allHaveClass = $('#form input:not(.yourclass)').length == 0;

答案 1 :(得分:2)

您可以执行以下操作:

$("#form input").not('.theclass')

这将返回任何没有该类的输入元素。

另一种方法是:

$("#form input:not(.theclass)")

后者似乎有更好的表现。

答案 2 :(得分:2)

最简单的方法是使用简单的if语句:

var form = $(formSelector);

if (form.find('input').length == form.find('input.className').length) {
    // all inputs have that class
}