我有一个产品页面,如果用户点击编辑,则会填充重叠表单窗口以使其可编辑。
完成修改并且用户点击提交后,我想更新已更改的产品的每个字段的text()
。
因此,我可以使用$(this).serialize()
作为数组
我想到的当前解决方案是:
var name = $("#input_name").val();
$("#name_id").innerhtml(name);
但问题是有很多字段,我想使用jQuery的强大功能,而不是手动抓取每个输入字段的值。
答案 0 :(得分:3)
查看serializeArray方法。
var array = $('#someForm').serializeArray();
答案 1 :(得分:2)
那么,必须有一些方法将输入元素与想要更新的纯文本元素(spans?divs?)相关联。这可能是通过某种命名约定,或者是输入字段类名中的一些显式挂钩。一旦你建立了这个约定,迭代表单字段并更新文本应该是一件非常容易的事。
因此,例如,如果文本区域是<span>
标签,其“id”值是输入字段的名称加上后缀“_text”,那么您可以执行以下操作:
$('#theFormId input:text').each(function() {
$('span#' + $(this).attr('name') + '_text').text($(this).val());
});
当然,大约有十亿种可能的变化。