JQuery. How to load inputs values to an array?
I have multiple input fields.
<input ty开发者_如何学JAVApe='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' />
I want to get all their values into a single array with jQuery. Like this one.
1 => 'Barack',
2 => 'Obama',
3 => '123456'
Existing method val() returns value from first match.
$('#firstname,#lastname,#password').val(); //returns only first name
This will do:
$('#firstname,#lastname,#password').map(function () {
return this.value;
}).get();
I made tiniy plugin for that case:
jQuery.fn.inputs2obj=function (){
var out={};
var arr=this.filter(':input').each(function () {
e=$(this);
out[e.attr('name')]=e.val();
}).get();
return out;
}
Usage example:
inputs=$('form').find(':input').inputs2obj();
精彩评论