2011-05-20 5 views
9

jQueryで配列フィールド[]のいくつのフィールドが空でないのかを数えますか?入力フィールドの空でない入力フィールド[]を数えますか?

サンプル

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

私はマップを使って何かを作ると、取得しようとしていたが、それはうまく来ていません。

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

しかし、私が持っているどのように多くの分野に関係なく塗りつぶされた値は常に0になります。

答えて

17

jQueryオブジェクトのlengthが見つかりませんマッチした要素の:

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

しかし、あなたは、これは常にリターン0または1なることを知っていますか? idプロパティはユニークであるため、複数回再利用することはできません。

例えば

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

あなたが実行します。

$('#foo').length; 

一つだけの要素fooid存在している必要がありますので、1を返します。あなたが実行すると

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


今これを試して

$('.foo').length; 

それは2を返します。どうして? classは何度も再利用できるためです。


何をしようとしていますか?複数の入力フィールドを持つシナリオを投稿できますか?

+0

を使用することができます[]' – Prix

+0

は私の編集を参照してください。それは正しい動作です。 – Blender

+0

複数の画像を10枚まで受け取り、最初の3枚が必要です。 – Prix

3

要素名で照会してカウントしたい場合は、あなたと私が唯一 `arquivoから1つのではなく、すべてのフィールドを数える@Blenderあなたは以下のコード

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