我有一个View,它使用render函数中的模板创建dataTable的行:
render: function(){
this.collection.fetch({async:false});
var tmpl = _.template(this.template);
var that = this;
_.each(this.collection.toJSON(), function(item) {
$(that.el).append(tmpl(item));
});
return this;
},
在此之后,我将数据表初始化为:
$("#idTable").dataTable();
我有另一种观点,在修改/添加集合的模型之后调用另一次此渲染重绘数据表。 修改/添加的行在表格中正确显示,但如果我使用分页或搜索框,则修改/添加的行将消失并显示为旧行。
如何刷新dataTable ???
我发现只有这样:How do I tell dataTables to check for updated data in a backbone collection?,但我需要使用Undercore的模板创建数据表。
答案 0 :(得分:0)
之前已经回答过。请尝试以下链接
http://datatables.net/forums/discussion/75/is-it-posible-to-refresh-table/p1
How to refresh jquery datatable after deleting a row
How to reload the datatable(jquery) data?
How can i refresh the datatable (jquery) after adding data to database with Spring MVC?
答案 1 :(得分:0)
我通过删除每次而不仅仅是表来解决它,甚至是围绕它创建jQuery的包装器div,每次都用新集合重新绘制整个表。
我在这里找到了解决方案:How to refresh DataTables
If doing a complete reload of the whole table, wrap your initial datatables
initialization code in a function. Call that function on page load. When replacing
the table completely with ajax you likely should remove the table parent div that is
created by plugin as a wrapper for all the non table DOm elements it creates.
If table ID="example" , wrapper id="example_wrapper".
感谢!!!