2013-10-08 8 views
10

Ich habe eine Gruppe von Eingängen und ich möchte den Wert von jedem in Array-Form oder in irgendeiner Weise, die Sie vorschlagen. Ich bin nicht sehr gut in Arrays.Holen Sie sich die Werte aller Eingänge mit der gleichen Klasse wie ein Array

$(elemnt).each(function(index, element) { 
    $('#spc-name').val($(".spocName").val()); 
    alert($(".spocName").val()); 
}); 

die obige Codezeile Alarm für mich richtig, aber für einen einzigen Eingang nur, aber ich habe mehrere Eingänge mit class="spocName" so mag ich Werte alles bekommen und so, dass ich dann jeweils in DB-Tabelle speichern könnte in getrennte Reihen.

+0

sollten Sie andere Klasse für jedes Element verwenden –

Antwort

24

Wenn alle Ihre Eingaben teilen die gleiche Klasse sagen „Class1“, dann können Sie alle solche Eingaben wählen Sie diese mit

var inputs = $(".class1"); 

Dann können Sie über die Eingänge laufen, wie Sie wollen.

for(var i = 0; i < inputs.length; i++){ 
    alert($(inputs[i]).val()); 
} 
11

Um die Werte jedes Elements als ein Array zu erhalten Sie map() verwenden können:

var valueArray = $('.spocName').map(function() { 
    return this.value; 
}).get(); 

Dieses Array kann dann verwendet werden, wie erforderlich ist, um Ihre Datenbank zu speichern - zB. als Parameter in einer AJAX-Anfrage.

1
var values = []; 
$('.spocNames').each(function(){ 
    values.push({ name: this.name, value: this.value }); 
}); 
//use values after the loop 
console.log(values); 
0

Sie können Benutzer jquery jede Funktion ...

$('.spocNames').each(function(){ 
    alert(this.value); 
} 
0

Just do:

alert($('.spocName').serialize()) 
Verwandte Themen