我有一些看起来像这样的代码可以正常工作:
var info = [];
for (i = 0; i < 10; i++)
{
info[i] = $('#info_' + i).val();
}
问题是这种模式在我的应用程序中非常常见,但有一些细微的变化。 我想做的是将它变成一个像这样的oneliner,其中info成为一个数组:
var info = $('[id^="info_"]').each().val();
答案 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()); });
应该