Zählen nicht-leeren input-Feld[]?
Mit jQuery wie kann ich zählen, wie viele Felder in meinem array-Feld[] nicht leer ?
Beispiel von Eingabefeld
<input type="file" name="arquivo[]" id="arquivo">
War ich versucht, etwas zu machen, mit Karte und bekommen, aber es kommt nicht gut zurecht:
var total = 0;
var count = $('#arquivo[value!=""]').map(function() { total = total+1; }).get();
Aber egal wie viele Felder ich befüllt haben es immer am Ende mit dem Wert 1 und wenn ich keine Felder gefüllt 0.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur finden die
length
des jQuery-Objekts gibt die Anzahl der übereinstimmenden Elemente:Aber Sie wissen, dass dies immer zurück
0
oder1
? Dieid
Eigenschaft ist einzigartige nur einem element, so können Sie nicht verwenden es mehrmals.Beispiel:
Beim ausführen:
Gibt es
1
, weil nur ein element sollte bestehen mit derid
vonfoo
.Nun versuchen, diese:
Beim ausführen:
Gibt es
2
. Warum? Daclass
können viele Male wiederverwendet werden.Was wollen Sie tun? Können Sie ein Szenario mit mehreren input-Feldern?
arquivo[]
id
Attribut falsch. Kannst du die HTML mit den 10 Bildern?id
. Je. Die maximale ist ein, der ist, was jQuery gibt richtig. Versuchen Sie es mitclass
stattid
(siehe mein Beispiel).$('.arquivo[value!=""]').length;
es zählt nur jetzt gut.Wenn Sie möchten, um Abfragen und zählen, indem Sie die element-Namen. Sie können den code unten