开发者

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜