问题描述:
利用jQuery Datatable和artTemplate组合来做的表格。但是当删除数据时,需要重新加载table里的数据。但是问题是datatable并没有直接的重新渲染,反而给数据累加上了。
解决办法:
经过查看高人的blog,发现可以先销毁table,然后再重新渲染。
代码如下 | 复制代码 |
vardttable; App.globalAjax("get","/Order/MyJsonList", {},function(result) { varhtml = template('Orders-template', result); $("#datatable1").find("tbody").html(html); dt = $('#datatable1').dataTable({ "sPaginationType":"bs_full" }); }); |
这个是第一次通过ajax获取到数据,然后利用artTemplate来渲染数据,最后填充到页面中,然后进行渲染。
接下来就是执行删除操作,然后重新加载渲染table
代码如下 | 复制代码 |
App.globalAjax("post","/Order/DeleteOrder", data,function(result) { App.globalAjax("get","/Order/MyJsonList", {},function(result) { varhtml = template('Orders-template', result); if($('#datatable1').hasClass('dataTable')) { dttable = $('#datatable1').dataTable(); dttable.fnClearTable();//清空一下table dttable.fnDestroy();//还原初始化了的datatable } $("#datatable1").find("tbody").html(html); $('#datatable1').dataTable(); }); }); |
到此,datatable就可以重新渲染了。