使用 AJAX 更新部分页面后,DataTables jquery add in 消失
Posted
技术标签:
【中文标题】使用 AJAX 更新部分页面后,DataTables jquery add in 消失【英文标题】:DataTables jquery addon dissapears after partialpage is updated with AJAX 【发布时间】:2020-06-20 07:24:36 【问题描述】:我有一张表,我想与DataTables 插件一起使用。实际上,它真的很好用,我可以按原样使用所有功能。
不幸的是,我的表位于部分视图中,因为我认为在我的表中执行删除和编辑等基本操作时,使用 AJAX 更新部分视图很巧妙。
现在问题:
当我第一次加载带有局部视图的页面时,DataTables 会附加并正常工作。但是,如果我删除或编辑我的实体,导致 AJAX 更新部分视图,该功能就会消失。
虽然我可以通过将DataTables()
函数附加到包装我的局部视图的“静态”div 来解决这个问题,然后找到表类,如下所示:
$(document).ready(function ()
$( "#partialViewWrapper" ).find( ".table" ).DataTable(
paging: false,
info: false
);
);
不幸的是,这不起作用。因此,我想知道如何将 DataTables 附加到我的表中,以便更新我的局部视图不会“分离”插件。
【问题讨论】:
不清楚,但这似乎是一个范围界定问题!你在使用 ajax.reload() datatables.net/reference/api/ajax.reload() 吗? [功能消失]什么消失了……桌子? 【参考方案1】:您需要在删除/编辑后刷新您的数据表。您可以根据需要使用加载/重新加载/绘制。
1.如果你的 ajax 数据 url 相同。那就试试吧
yourDataTable.draw();
OR
yourDataTable.ajax.reload();
如果您需要更新 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
【讨论】:
以上是关于使用 AJAX 更新部分页面后,DataTables jquery add in 消失的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 的 DataTable 列表页面中更新状态
p:datatable 在 ajax 刷新后丢失排序列和顺序