2013-10-08 17 views
10

Mam grupę wejść i chcę uzyskać wartość każdej z nich w formie tablicy lub w jakikolwiek sposób, który zasugerujesz. Nie jestem bardzo dobry w tablicach.Uzyskaj wartości wszystkich wejść z tą samą klasą co tablica

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

powyższy wiersz kodu alarmowego dobrą rzeczą dla mnie, ale dla jednego wejścia tylko, ale mam wiele wejść z class="spocName" więc chcę uzyskać wartości wszystkich i abym mógł następnie zapisać każdy w tabeli DB w oddzielne rzędy.

+0

trzeba zastosować inną klasę dla każdego elementu –

Odpowiedz

24

Jeśli wszystkie wejścia mają te same klasy powiedzieć „class1”, a następnie można wybrać wszystkie te wejścia przy użyciu tej

var inputs = $(".class1"); 

Następnie można iteracyjne nad wejściami jakikolwiek sposób chcesz.

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

Aby uzyskać wartości każdego elementu w postaci tablicy można wykorzystać map():

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

Następnie można użyć tej tablicy jako wymagane, aby zapisać do bazy danych - np. jako parametr w żądaniu AJAX.

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

można jQuery użytkownik każdy funkcja ...

$('.spocNames').each(function(){ 
    alert(this.value); 
} 
Powiązane problemy