将多个jQuery.val()读入数组

时间:2011-06-23 10:55:31

标签: jquery arrays iteration

我有一些看起来像这样的代码可以正常工作:

var info = [];
for (i = 0; i < 10; i++)
{
     info[i] = $('#info_' + i).val();
}

问题是这种模式在我的应用程序中非常常见,但有一些细微的变化。 我想做的是将它变成一个像这样的oneliner,其中info成为一个数组:

var info = $('[id^="info_"]').each().val();

3 个答案:

答案 0 :(得分:24)

感谢Dogbert找到了解决方案。他的例子中缺少的只是.get()

以下是我最终使用的解决方案:

var info = $('[id^="info_"]').map(function () { return $(this).val(); }).get();

答案 1 :(得分:22)

您可以使用jQuery.map

var info = $('[id^="info_"]').map(function() { return $(this).val(); } )

答案 2 :(得分:2)

$('[id^="info_"]').each(function(){ info.push($(this).val()); });

应该