admin管理员组

文章数量:1323330

I have multiple input fields.

<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' />

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

I have multiple input fields.

<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' />

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
Share asked Dec 7, 2009 at 11:13 Simon PerepelitsaSimon Perepelitsa 20.6k8 gold badges57 silver badges75 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 11

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();

本文标签: javascriptJQuery How to load inputs values to an arrayStack Overflow