我确实将 html 表的内容存储在数据库中,我使用 jQuery 从中提取数据,并通过从这些表中创建 JSON 对象将其放置在另一个表中。
我得到存储的表并将其附加到 DOM,如下所示:
$('#divfortable).append(storedtable);
下一步是创建我的对象:
var tableObject = $('# divfortable tbody tr').map(function(i) {
var row = {};
$(this).find('td').each(function(i) {
var rowName = columns[i];
row[rowName] = $(this).text().trim();
});
return row;
}).get();
我有一个具有相关列名的现有数组。
下一步是将这些详细信息上传到服务器:
data = { id: id, tableObject: tableObject };
$.ajax({
dataType: 'json',
url:'my_url',
data: $.param(data),
error: function(jqXHR, textStatus, errorThrown) { },
success: function(data) { }
});
它工作正常,我对结果非常满意,但我的问题是在另一张桌子上重复这个过程时。我想获得一个新表并以类似的方式提取其内容,但我无法摆脱以前的结果。结果包含新加载的表加上前一个表,如果我再重复一次,它包含所有 3 个表的结果!
很明显,我必须清空之前提取的所有对象和 DOM 元素,但我尝试了不同的方法,但无济于事。我通过搜索互联网和这个论坛收集到,您可以使用 delete 或 empty 来销毁 tableObject 以便您可以创建一个全新的,但它不起作用。
我尝试了以下方法:
delete tableObject;
和
$('#divfortable).remove(storedtable);
在成功函数中,一起和分开
我也用过
$('#divfortable).remove(storedtable);
在我创建了我的数据对象之后
data = { id: id, tableObject: tableObject };
但在这种情况下,脚本不会进行 ajax 调用,而是通过显示$('#divfortable)
它来显示两个表!
我怎样才能摆脱以前的结果?