JQuery. Как загрузить входные значения в массив? - PullRequest
4 голосов
/ 07 декабря 2009

У меня есть несколько полей ввода.

<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

Ответы [ 2 ]

11 голосов
/ 07 декабря 2009

Это будет делать:

$('#firstname,#lastname,#password').map(function () { 
    return this.value; 
}).get();
1 голос
/ 25 июня 2011

Я сделал маленький плагин для этого случая:

    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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...