2016-04-18 4 views
3

Ich versuche, Werte aus Textfeldern zu erhalten, die aus einem -Tag stammen. Die drei Textfelder haben denselben Klassennamen. Ich möchte ihre Werte erhalten und sie später verwenden.Wie erhält man Elemente nach Klassennamen und speichert sie in einem Array in jQuery?

Ich bekomme einen Fehler für den Alarmteil in jQuery unten.

HTML

<input type="text" class="className"> 
<input type="text" class="className"> 
<input type="text" class="className"> 

jQuery

var $j_object = $(".className"); 
$j_object.each(function(i){ 
    alert($j_object[i].val())      
}); 
+1

die Alarmlinie ersetzen mit 'alert ($ (this) .val()); ' –

Antwort

2

Try .eq(index) in diesem Zusammenhang zu verwenden,

var $j_object = $(".className"); 
$j_object.each(function(i){ 
    alert($j_object.eq(i).val());      
}); 

Oder Sie können die this valu verwenden e innerhalb von .each() die Aufgabe zu vereinfachen,

var $j_object = $(".className"); 
$j_object.each(function(){ 
    alert($(this).val());      
}); 

Wenn Sie Klammer-Notation verwenden, um die jquery Element Sammlung zuzugreifen, dann ist das schlicht Javascript-Objekt zurück. Und das wird in seinem Prototyp keine jquery Funktionen haben.

1

Sie können die Textfeldwerte in Array speichern, indem Sie die Funktion .map() in jQuery verwenden.

Arbeitsbeispiel

var array = $('.className').map(function(){ 
 
    return $(this).val() 
 
}).get(); 
 
alert(array)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="className" value="1"> 
 
<input type="text" class="className" value="2"> 
 
<input type="text" class="className" value="3">

+0

Wenn ich Namensattribut für die Textfelder habe, kann ich die Namen von dem gleichen Code erhalten, den Sie zur Verfügung gestellt haben? – Ahmad

+0

Ja. Sicher. Sie können '$ (this) .attr ('yourAttribute')' anstelle von '$ (this) .val()' –

+0

verwenden. Wenn Sie möchten, kann ich Ihnen eine Beispieldemo zeigen. Lass es mich wissen wenn du brauchst. –

Verwandte Themen