简体   繁体   中英

JQuery. How to load inputs values to an array?

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM