使用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;
通过这种方式,我们可以找到单个表单元素的总数。假设我们需要为动态表单找到这样的表单元素的总数,那么可能的方法是什么?因为我们不能轻易检测到它们中存在的表单元素的类型?建议我这个问题的可行方法
答案 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而不是表单标记。