2

使用 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

4 回答 4

6

正如Amine 所暗示的,使用:input选择器

$(':input').length
于 2013-08-12T14:23:43.660 回答
0

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

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

或者

elementTypes = ['input', 'textarea', 'select'];
$.each(elementTypes, function(index, _el) {
    $(_el).length;
});
于 2013-08-12T14:23:56.307 回答
0

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

于 2013-08-12T14:26:18.240 回答
0

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

于 2017-11-29T13:49:48.153 回答