2013-02-11 170 views
0

我确实拥有存储在数据库中的html表格的内容,我使用jQuery从中提取数据,并通过从这些表创建JSON对象将其置于另一个表中。删除无法删除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); 

我创建后我DAT一个对象

data = { id: id, tableObject: tableObject }; 

但在这种情况下,脚本不会进展到Ajax调用,而是通过显示$('#divfortable)它显示两个表!

我该如何摆脱以前的结果?

+0

有一个“JSON对象”没有这样的事。 JSON是一种seralisation格式 – Alnitak 2013-02-11 11:56:09

回答

0

你应该能够在第二次手术前简单地清除当前#divfortable

$('#divfortable').empty();