0

我有一个动态生成的表。此表是从 JSON 字符串生成的。现在,当表格生成并显示在页面上时,用户可以对其进行编辑并再次保存。一旦他们点击保存,我想从 html 生成 JSON(带有编辑的数据)并使用 ajax 将其发送到服务器。

我的问题是,动态生成的表只有 tr td 和 label 元素作为文本,没有任何<input>标签元素。由于我不能在标签上添加任何“名称”属性,所以调用 form.serializeArray() 时我得到的是空字符串。

我如何序列化只有“非输入”标签元素的表单。谢谢你的帮助 !!-马尼什

4

2 回答 2

1

您可以尝试手动创建结果 JSON 对象。

$('form').submit(function () {
    var result = {};
    $.each($('form label'), function (index, item) {
        result[index] = $(item).text();
    });
    console.log(result);
    alert(JSON.stringify(result));
    return false;
});

请看下面的小提琴:

JSFiddle

于 2013-08-02T09:15:03.810 回答
0

serializeArray()返回一个对象数组。您可以将相关数据推入其中:

var arrDatas = $("form").serializeArray();
arrDatas.push({
    name: 'nameOfLabel',
    value: 'value to add'
});
于 2013-08-02T09:08:13.937 回答