查找表单元素的数量

时间:2013-08-12 14:20:11

标签: jquery html

使用jquery查找表单元素总数的可能方法是什么? 要清楚,这是代码

 <html>
     <body>
        <form>
        <div>
            Name
            <input type="text" class="name">
        </div>

        <div class="radioselect">
            Yes
            <input type="radio" name="same" class="radio">
            NO
            <input type="radio" name="same" class="radio">
        </div>
        <div>
            Comment
            <textarea class="area"></textarea>
        </div>
    </form>
     </body>
   </html>

在上面的代码中,考虑我们需要找到表单元素的数量。通过简单的jquery,我们可以使用这样的脚本:

$('input').length;
$('textarea').length;

通过这种方式,我们可以找到单个表单元素的总数。假设我们需要为动态表单找到这样的表单元素的总数,那么可能的方法是什么?因为我们不能轻易检测到它们中存在的表单元素的类型?建议我这个问题的可行方法

4 个答案:

答案 0 :(得分:4)

作为Amine hinted,请使用:input selector

$(':input').length

答案 1 :(得分:0)

如果要计算所有表单元素,请使用以下标记:

$('form').find('input, textarea, select').length;

elementTypes = ['input', 'textarea', 'select'];
$.each(elementTypes, function(index, _el) {
    $(_el).length;
});

答案 2 :(得分:0)

jQuery(":input").length;应该给出正确的计数。

答案 3 :(得分:0)

我知道这个问题已经过时了,但也许我可以为有帮助的新手提供答案。通常,定义良好的表单元素具有name属性。使用公共属性更准确,而不是通过使用它们的类型来计算元素。在这种情况下,var n = $('form [name]').length;足以计算表单中的每个元素。我假设您想要单独计算无线电元素,而不是整体计算。相反,您必须排除它们。当然,如果需要,您可以使用表单ID而不是表单标记。