Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery form.serializeArray()-如何将其用于不接受名称属性(如label,td)的非输入标记_Jquery_Arrays_Json_Serialization - Fatal编程技术网

Jquery form.serializeArray()-如何将其用于不接受名称属性(如label,td)的非输入标记

Jquery form.serializeArray()-如何将其用于不接受名称属性(如label,td)的非输入标记,jquery,arrays,json,serialization,Jquery,Arrays,Json,Serialization,我有一个动态生成的表。此表由JSON字符串生成。现在,当表格生成并显示在页面上时,用户可以编辑它并再次保存它们。一旦他们点击Save,我想从html中生成JSON(带有编辑过的数据),并使用ajax将其发送到服务器 我的问题是,动态生成的表只有trtd和label元素作为文本,没有任何标记元素。因为我不能在标签上添加任何“name”属性,所以在调用form.serializeArray()时,我得到的是空字符串 如何序列化只有“非输入”标记元素的表单。谢谢你的帮助!! -Manishserial

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

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

如何序列化只有“非输入”标记元素的表单。谢谢你的帮助!! -Manish

serializeArray()
返回对象数组。您只需将您的相关数据推入即可:

var arrDatas = $("form").serializeArray();
arrDatas.push({
    name: 'nameOfLabel',
    value: 'value to add'
});

您可以尝试手动创建结果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;
});
请看下面的小提琴:


您必须手动操作。获取值/文本以及标识元素的任何内容,并创建一个使用ajax发送的数据对象。