2010-03-06 8 views
3

J'ai 100 entrées avec le nom table[]. Comment puis-je obtenir leur valeur avec jQuery, en tant que tableau? Je suis en train de faire quelque chose comme $_POST['table'] en PHP.Obtenir la valeur des entrées avec Jquery

J'ai essayé le code suivant, mais je veux les valeurs comme un tableau ...

$("input[name='table[]']").each(function(){document.write($(this).val());}); 

Répondre

5
var arrInputValues = new Array(); 
$("input[name='table\\[\\]']").each(function(){ 
    arrInputValues.push($(this).val()); 
    // you can also use this 
    //arrInputValues.push(this.value); 
}); 

Maintenant votre arrInputValues ​​contient toute la valeur.

Vous pouvez également utiliser

$("input[name='table[]']").each(function(){ 

Vous pouvez voir une working demo

Vous pouvez utiliser la méthode join() pour rejoindre les valeurs dans le tableau.

arrInputValues.join(','); 

rejoindront les éléments du tableau comme une chaîne séparée par ,.

+0

document.write (arrInputValues) sorties test1 ,,,,,,,,,,,,,,,,,,,,,,,, test2 et ainsi de suite. Est-ce normal? –

+0

Oui, c'est normal. – rahul

+0

Merci! Et comment les unir? Cela fonctionnera-t-il si je traite la chaîne via foreach en PHP et l'insère dans DB. Voyez-vous ma réponse ci-dessous? –

2

les caractères [et] sont des caractères spéciaux, vous devez les échapper

$("input[name='table\\[\\]']").each(function() 
{ document.write($(this).val());   }); 
+0

OK, mais comment l'obtenir en tant que tableau? Maintenant, il me sorties: test1test2test3test4 ........ Comment obtenir est comme Array ( [0] => test1 [1] => test2 [2] => test3 [3 ] => test4 ) –

2

Vous besoin d'échapper aux [] caractères, essayez ceci:

$("input[name='table\\[\\]']").each(function() 
........... 
+0

Comme je l'ai posté ci-dessus OK, mais comment l'obtenir en tableau? Maintenant, il me sort que: test1test2test3test4 ........ Comment obtenir est comme Array ([0] => test1 [1] => test2 [2] => test3 [3] => test4) –

+0

@Angelov : Il est déjà un tableau dans $ _POST ['table']; vous pouvez voir le contenu de cela comme print_r ($ _ POST ['table']); – Sarfraz

+0

Je ne l'ai pas expliqué correctement. L'idée de tout cela est que je veux transférer la valeur de l'entrée à un autre fichier, en utilisant AJAX, où je vais soumettre cette valeur dans BD, mais je dois utiliser foreach, qui, je pense, attend array. For12 ($ _ POST ['table'] AS $ data) { // L'INSERTION DE LA BD } Je veux l'insérer sans actualiser la page, en cliquant sur soumettre, c'est pourquoi j'utilise AJAX. Mais pour arriver à la DB je dois envoyer les données à l'autre fichier, en utilisant AJAX.C'est pourquoi je veux faire le tableau dans JS.Après cela, je vais le sérialiser en une chaîne et faire ce que je veux –

3

code suivant donne la valeur de chaque entrée

var arr=new Array(); 
$("input[name='table[]']").each(function() 
{ 
    var val=$(this).attr('value'); 
    document.write(val); 
    arr.Push(val); 
}); 
+0

Pouvez-vous Dites-moi comment obtenir la valeur pour tous les éléments en tant que tableau? Merci! –

+0

Veuillez vous référer à la réponse mise à jour. Merci! –

Questions connexes