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)
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)
jQuery
集合有一个内置的迭代器.each
:
$("input[name^='card']").each(function () {
console.log($(this).val());
}
Run Code Online (Sandbox Code Playgroud)