【问题标题】:How to get all input fields from a form in jQuery? [duplicate]如何从jQuery中的表单中获取所有输入字段? [复制]
【发布时间】:2012-10-12 10:31:46
【问题描述】:

可能重复:
Obtain form input fields using jQuery?

我有一个带有许多输入字段表单

array 中获取该表单的所有输入字段的最简单方法是什么?

或者Key:Value对中的对象

【问题讨论】:

  • 您想获取对 DOM 元素或字段值的引用吗?输入字段是相同类型(标签)还是不同类型?

标签: javascript jquery


【解决方案1】:

使用serializeArray() jQuery 函数:

var fields = $('#formID').serializeArray();

要获取数据的关联数组(具有名称/值映射的 JSON 对象),请查看此处的代码:https://stackoverflow.com/a/1186309/349012

【讨论】:

  • 谢谢。但解决方案并没有给我专门的关联数组。但肯定帮助我达到了这一点,我一直在寻找
  • 所以你想创建一个键 -> 值的关联数组? (本质上是它们的 JSON 对象?)如果是这样,看看这个:stackoverflow.com/a/1186309/349012。它也使用了 serializeArray 函数,只是重新格式化数据!
【解决方案2】:

所有输入的对象:-

$("form#formId :input").each(function(){
    var input = $(this); // A jquery object of the input
});

$('#formId').submit(function() {
    // get the array of all the inputs 
    var $inputs = $('#formId :input');

    // get an associative array of the values
    var values = {};
    $inputs.each(function() {
        values[this.name] = $(this).val();
    });
});

这个返回 Key:Value 对 -

var values = {};
$.each($('#formId').serializeArray(), function(i, field) {
    values[field.name] = field.value;
});

【讨论】:

    【解决方案3】:

    这很简单:

    $('input','#formId')
    

    $('#formId').find('input');
    

    【讨论】:

    • 发现 api 非常昂贵,而且它正在挂起我的浏览器......我有几吨输入
    【解决方案4】:

    使用:var allInputs = $(":input");

    【讨论】:

    • 这将返回所有输入类型,无论它们属于哪种形式
    • 我看到这让新开发人员感到困惑。需要更好的选择器。
    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2018-12-25
    • 2014-05-16
    • 2015-07-13
    • 2017-09-27
    • 2010-09-15
    相关资源
    最近更新 更多