2011-05-20 85 views
9

用jQuery如何計算我的數組field []中有多少個字段不是空的?計數非空輸入字段[]?

樣品輸入字段

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

我試圖讓東西了使用地圖和獲得,但它不來相處的:

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

但不管有多少領域有填充它總是最終的值爲1,如果我沒有填充字段0.

回答

17

您可以找到jQuery對象的length,它返回數字匹配的元素:

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

但是,你知道,這將總是返回01id屬性是唯一只有一個元素,所以你不能重複使用它多次。


例如:

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

當你運行:

$('#foo').length; 

它返回1,因爲隨着fooid只存在一個元素應該


現在試試這個:

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

當你運行:

$('.foo').length; 

它返回2。爲什麼?因爲class可以重複使用很多次。


你想做什麼?你能發佈一個帶有多個輸入字段的場景嗎?

+0

@Blender你我只能算1,而不是所有的'arquivo []' – Prix 2011-05-20 06:13:32

+0

見我的編輯字段。這是正確的行爲。 – Blender 2011-05-20 06:13:58

+0

我們收到多達10張的圖片,前3張是必需的。 – Prix 2011-05-20 06:15:35

3

如果你想查詢和按元素名稱計數。您可以使用下面的代碼

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