2014-07-01 108 views
14

這是我的HTML輸入元素如何獲得輸入數組元素的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="" /> 

我如何使用jQuery

+0

我無法理解..想要獲得文本框的值..? –

+0

是的我想獲得所有的數組格式的文本框值 – user3707303

+0

使用數組映射功能 –

回答

39

通過使用地圖

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

非常感謝....它很好。 ......! –

+0

get()是做什麼的?沒有get()會返回什麼? – Jwan622

10

您可以使用.map()得到pname陣列中所有的值。

通過函數傳遞當前匹配集合中的每個元素,產生一個包含返回值的新jQuery對象。

由於返回值是一個jQuery對象,其中包含一個數組,這是很常見的調用.get()的結果與基本陣列工作。

使用

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

get()返回一個基本數組的說明對我很有用。 – dading84

+0

get()做什麼?沒有get()會返回什麼? – Jwan622

+1

@ Jwan622,'map()'return是一個包含數組的jQuery對象。 '.get()'用於返回本地JavaScript數組 – Satpal

2

用途:

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); 
} 
} 

這裏是Demo

相關問題