2014-07-01 6 views
14

Ecco la mia elementi di input htmlCome ottenere tutti i valori della matrice di input elemento jquery

<input type="text" name="pname[]" value="" /> 
<input type="text" name="pname[]" value="" /> 
<input type="text" name="pname[]" value="" /> 
<input type="text" name="pname[]" value="" /> 
<input type="text" name="pname[]" value="" /> 
<input type="text" name="pname[]" value="" /> 

Come posso ottenere tutti i valori di pname array usando Jquery

+0

non riesco a capire .. voglio ottenere i valori della casella di testo ..? –

+0

Sì, desidero ottenere tutti i valori della casella di testo in formato array – user3707303

+0

Utilizzare la funzione di mapping degli array –

risposta

39

utilizzando mappa

var values = $("input[name='pname[]']") 
       .map(function(){return $(this).val();}).get(); 
+0

Grazie mille .... funziona benissimo. ......! –

+0

cosa fa get()? Cosa restituisce senza get()? – Jwan622

10

È possibile utilizzare .map().

Passare ogni elemento nel set corrente corrispondente tramite una funzione, producendo un nuovo oggetto jQuery contenente il valore restituito.

Poiché il valore restituito è un oggetto jQuery, che contiene una matrice, è molto comune per chiamare .get() sul risultato di lavorare con una matrice di base.

Usa

var arr = $('input[name="pname[]"]').map(function() { 
    return this.value; // $(this).val() 
}).get(); 
+2

La spiegazione che get() restituisce una matrice di base mi è stata utile. – dading84

+0

cosa fa get()? Cosa restituisce senza get()? – Jwan622

+1

@ Jwan622, 'map()' return è un oggetto jQuery che contiene un array. '.get()' è usato per restituire l'array JavaScript nativo – Satpal

2

Usa:

function getvalues(){ 
var inps = document.getElementsByName('pname[]'); 
for (var i = 0; i <inps.length; i++) { 
var inp=inps[i]; 
    alert("pname["+i+"].value="+inp.value); 
} 
} 

Ecco Demo.

Problemi correlati