我有多个输入字段。
<input type='text' size='10' name='firstname' id='firstname' />
<input type='text' size='20' name='lastname' id='lastname' />
<input type='password' size='5' name='password' id='password' />
我想用jQuery将它们的所有值都放到一个数组中。喜欢这个。
1 => 'Barack',
2 => 'Obama',
3 => '123456'
现有方法val()从第一次匹配返回值。
$('#firstname,#lastname,#password').val(); //returns only first name
答案 0 :(得分:11)
这样做:
$('#firstname,#lastname,#password').map(function () {
return this.value;
}).get();
答案 1 :(得分:1)
我为这个案子制作了tiniy插件:
jQuery.fn.inputs2obj=function (){
var out={};
var arr=this.filter(':input').each(function () {
e=$(this);
out[e.attr('name')]=e.val();
}).get();
return out;
}
用法示例:
inputs=$('form').find(':input').inputs2obj();