代码之家  ›  专栏  ›  技术社区  ›  Simon Perepelitsa

jQuery。如何将输入值加载到数组中?

  •  4
  • Simon Perepelitsa  · 技术社区  · 15 年前

    我有多个输入字段。

    <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 回复  |  直到 8 年前
        1
  •  11
  •   Magnar    12 年前

    这样做:

    $('#firstname,#lastname,#password').map(function () { 
        return this.value; 
    }).get();
    
        2
  •  1
  •   Ivan    8 年前

    我为那个案子做了一个小小的插件:

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