使用jQuery,我如何计算我的数组字段[]中有多少字段不为空?
输入字段的示例
<input type="file" name="arquivo[]" id="arquivo">
我试图用map制作一些东西但得到的却不顺利:
var total = 0;
var count = $('#arquivo[value!=""]').map(function() { total = total+1; }).get();
但无论我填充了多少个字段,它总是以1的值结束,如果我没有填充0的字段。
答案 0 :(得分:18)
你可以找到jQuery对象的length
,它返回匹配元素的数量:
$('#arquivo[value!=""]').length
但是你确实知道总是返回0
或1
? id
属性 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