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

And*_*eas 18 arrays iteration jquery

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

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

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

var info = $('[id^="info_"]').each().val();
Run Code Online (Sandbox Code Playgroud)

And*_*eas 24

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

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

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


Dog*_*ert 22

你可以使用jQuery.map

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