J'ai deux zones de texte avec le même nom control_text
mais leurs valeurs sont différentes. Je souhaite stocker toutes mes valeurs de boîte de texte dans un tableau en utilisant jQuery.
HTML
<input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="firstvalue" /> <input type="text" name="control_text" placeholder="Text Label Image" class="required" id="control_text" value="secondvalue" />
JavaScript
var test_arr = $("input[name='control_text']"); $.each(test_arr, function(i, item) { // i = index, item = element in array alert($(item).val()); });
Le code ci-dessus affiche les valeurs des zones de texte individuellement. Je ne veux pas alerter ces valeurs individuellement, je veux alerter les deux à la fois avec un séparateur de virgule similaire à (firstvalue, secondvalue)
. Toute aide est appréciée.
Utilisez la méthode map()
:
var arr = $("input[name='control_text']").map(function() { return this.value; }).get();
Une note latérale: les éléments d'une seule page devraient contenir des identifiants uniques , afin de vérifier votre validité.
var newArray = []; $( "input[name='control_text']" ).each(function() { newArray.push($( this ).val()); }); console.log(newArray);
Vous pouvez également l'utiliser en utilisant la fonction .each.