2011-05-09 97 views
0

我想將表單中的所有輸入合併到一個字符串中,但是我的代碼只是覆蓋每個循環上的var,只留下了來自最後一個輸入的文本形式...我怎樣才能解決這個問題?使用jquery獲取表單中所有輸入的文本

$(':input').each(function() { 
    var output = $(this).val(); 
    $('#output').html(output); 
}); 
+0

嘗試用我的解決方案?我也展示了我的答案 – diEcho 2011-05-09 07:30:12

+0

您的解決方案可行,但對於我正在嘗試做的事情,我不想創建數組。它確實幫了我,但是,謝謝:) – Giovanni 2011-05-09 07:42:03

回答

4
var output = ''; 
$(':input').each(function() { 
    output += $(this).val(); 
}); 
$('#output').html(output); 

或者你也可以使用.map()功能:

var output = $(':input').map(function() { 
    return $(this).val(); 
}).toArray().join(''); 
$('#output').html(output); 
+0

更緊湊:輸出+ = $(this).val(); – Faust 2011-05-09 07:01:13

+0

@Faust,好點。我已更新我的帖子以考慮它。 – 2011-05-09 07:02:10

+0

這正是我需要做的!謝謝! – Giovanni 2011-05-09 07:42:41

1

可嘗試

var output = new Array(); 
$(':input').each(function() { 
    output.push($(this).val()); 
}); 
alert(output); 

DEMO

替代:

var output = $(':input').map(function() { 
    return $(this).val(); 
}).get(); 
alert(output); 

DEMO

參考

get

相關問題