【问题标题】:JQuery. How to load inputs values to an array?查询。如何将输入值加载到数组中?
【发布时间】:2016-06-11 00:19: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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    这样就可以了:

    $('#firstname,#lastname,#password').map(function () { 
        return this.value; 
    }).get();
    

    【讨论】:

    • 这里不需要使用.val()方法,return this.value;就可以了。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 2021-08-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      相关资源
      最近更新 更多