首页 > 解决方案 > 使用 AJAX 更新部分页面后,DataTables jquery 插件消失

问题描述

我有一个表,我想与DataTables插件一起使用。实际上,它真的很好用,我可以按原样使用所有功能。

不幸的是,我的表位于部分视图中,因为我认为在我的表中执行基本操作(例如删除和编辑)时,使用 AJAX 更新部分视图很巧妙。

现在到这个问题:

我第一次用局部视图加载我的页面时,DataTables 附加并工作。但是,如果我删除或编辑我的实体,导致 AJAX 更新部分视图,该功能就会消失。

我虽然可以解决这个问题,方法是将DataTables()函数附加到包装我的局部视图的“静态”div,然后找到表类,如下所示:

$(document).ready(function () {
    $( "#partialViewWrapper" ).find( ".table" ).DataTable({
        paging: false,
        info: false
    });
});

不幸的是,这不起作用。因此,我想知道如何将 DataTables 附加到我的表中,以便更新我的部分视图不会“分离”插件。

标签: jqueryajaxasp.net-mvcdatatabledatatables

解决方案


您需要在删除/编辑后刷新您的数据表。您可以根据您的要求使用加载/重新加载/绘制。

1.如果您的 ajax 数据 url 相同。然后尝试

    yourDataTable.draw();

    OR 

    yourDataTable.ajax.reload();
  1. 如果您需要更新 ajax 数据 url。然后尝试

    yourDataTable.ajax.url(newUrl).draw();
    OR
    var myParams = yourDataTable.ajax.params();
    yourDataTable.ajax.url(newUrl, myParams).load();//if no parameter then pass null
    

推荐阅读