如何使用jQuery从数组中的元素中检索值?

Sus*_*ire 11 html arrays jquery

我有多个输入字段,如下所示:

<input type="text" name="card[]">
<input type="text" name="card[]">
<input type="text" name="card[]">
Run Code Online (Sandbox Code Playgroud)

用户可以根据需要添加或删除这些字段,因此字段的名称是一个数组.要获得数组的长度,这可以正常工作:

var n = $("input[name^= 'card']").length;
Run Code Online (Sandbox Code Playgroud)

如何从数组中读取值?

我试过这个没用的:

var n = $("input[name^='card']").length;
var array = $("input[name^='card']");
for(i=0;i<n;i++)
{
 card_value=  array[i].val();
 alert(card_value);
}
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

var n = $("input[name^='card']").length;

for(i=0;i<n;i++)
{
 card_value=  $("input[name^='card["+i+"]']").val();
 alert(card_value);
}
Run Code Online (Sandbox Code Playgroud)

如何从这个数组中读取值?救命!

New*_*Bee 13

使用地图功能

var values = $("input[name^='card']").map(function (idx, ele) {
   return $(ele).val();
}).get();
Run Code Online (Sandbox Code Playgroud)

  • 提示:您还可以在函数中使用“$(this)”并删除参数 idx 和 ele。[`.get()`](http://api.jquery.com/get/#get2) 用于从 [`.map()`](http: //api.jquery.com/map/)。 (2认同)

scr*_*ola 12

你应该使用:

card_value=  array.eq(i).val(); //gets jquery object at index i
Run Code Online (Sandbox Code Playgroud)

要么

card_value=  array[i].value; //gets dom element at index i
Run Code Online (Sandbox Code Playgroud)


Exp*_*lls 7

jQuery集合有一个内置的迭代器.each:

$("input[name^='card']").each(function () {
   console.log($(this).val());
}
Run Code Online (Sandbox Code Playgroud)