1

我有一个在渲染函数中使用模板创建数据表行的视图:

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();

我有另一种观点,即在修改/添加集合模型后,再次调用此渲染以重绘数据表。修改/添加的行正确显示在表格中,但如果我使用分页或搜索框,修改/添加的行会消失并出现旧行。

如何刷新数据表???

我发现只有这样:如何告诉 dataTables 检查骨干集合中的更新数据?,但我需要使用 Undercore 的模板创建数据表。

4

2 回答 2

0

我通过每次删除而不是只删除表来解决它,甚至是在它周围创建 jQuery 的包装器 div,并且每次都用新集合重绘整个表。

我在这里找到了解决方案:如何刷新数据表

 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".

谢谢!!!

于 2013-05-10T18:22:15.593 回答