计算非空输入字段[]?

时间:2011-05-20 06:01:58

标签: jquery count field validation

使用jQuery,我如何计算我的数组字段[]中有多少字段不为空?

输入字段的示例

<input type="file" name="arquivo[]" id="arquivo">

我试图用map制作一些东西但得到的却不顺利:

var total = 0;
var count = $('#arquivo[value!=""]').map(function() { total = total+1; }).get();

但无论我填充了多少个字段,它总是以1的值结束,如果我没有填充0的字段。

2 个答案:

答案 0 :(得分:18)

你可以找到jQuery对象的length,它返回匹配元素的数量:

$('#arquivo[value!=""]').length

但是你确实知道总是返回01id属性 unique 仅属于一个元素,因此您无法多次重复使用它。


例如:

<div id="foo"></div>
<div id="foo"></div>

当你跑步时:

$('#foo').length;

它会返回1,因为id foo只有一个 元素。


现在试试这个:

<div class="foo"></div>
<div class="foo"></div>

当你跑步时:

$('.foo').length;

返回2。为什么?因为class可以多次重复使用。


你想做什么?你可以发布一个包含多个输入字段的场景吗?

答案 1 :(得分:3)

如果您想按元素名称查询和计数。您可以使用以下代码

$('[name*=arquivo][value!=""]').length