【问题标题】:Make array of data from $(this).serialize()从 $(this).serialize() 制作数据数组
【发布时间】:2010-02-24 03:12:55
【问题描述】:

我有一个产品页面,如果用户点击编辑,则会填充一个覆盖表单窗口以使其可编辑。

编辑完成并用户点击提交后,我想更新被更改产品的每个字段的text()

所以不是获取每个输入字段的值并进行更新,有没有一种方法可以将$(this).serialize() 用作数组

目前我想到的解决方案是:

var name = $("#input_name").val();
$("#name_id").innerhtml(name);

但问题是字段很多,我想利用jQuery的强大功能,而不是手动抓取每个输入字段的值。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    查看serializeArray 方法。

    var array = $('#someForm').serializeArray();
    

    【讨论】:

    • 非常好,不知道这是可能的。 +1
    【解决方案2】:

    嗯,必须通过某种方式将输入元素与您要更新的纯文本元素(跨度?div?)相关联。这可能是通过一些命名约定,或者通过输入字段类名中的一些显式挂钩。一旦你建立了这个约定,迭代表单字段并更新文本应该是一件非常容易的事情。

    例如,如果文本区域是<span> 标签,其“id”值是输入字段的名称加上后缀“_text”,那么您可以这样做:

    $('#theFormId input:text').each(function() {
      $('span#' + $(this).attr('name') + '_text').text($(this).val());
    });
    

    当然有大约十亿种可能的变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 2011-09-26
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多