2012-11-02 34 views
0

我有兩個同名的文本框control_text但它們的值不同。我想使用jQuery將所有文本框的值存儲在數組中。如何使用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()); 
}); 

上面的代碼單獨地顯示的文本框的值。我不想單獨提醒這些值,我希望立即用逗號分隔符提醒兩者,類似於 (firstvalue, secondvalue)。任何幫助表示讚賞。

+0

它也可能在提交時,通過序列化數組函數獲取結果數組格式 - http://api.jquery.com/serializeArray/ $('form')。submit(function(){ console .log($(this).serializeArray()); return false; }); – 2012-11-03 00:06:47

回答

7

使用map()方法:

var arr = $("input[name='control_text']").map(function() { 
    return this.value; 
}).get(); 

一個側面說明:在單頁元素應該有獨特的ID,所以檢查標記的有效性。

+1

值得一提的是,您還需要應用'.get()'來獲得真正的js數組。 – zerkms

+0

@zerkms是的,我總是忘記它:)謝謝! – VisioN

0
var newArray = []; 
$("input[name='control_text']").each(function() { 
    newArray.push($(this).val()); 
}); 
console.log(newArray); 

你也可以使用.each函數來實現它。

相關問題