如何在不重新加载页面的情况下刷新datatables(jQuery插件)

5

请帮助我,我是一个非常新手的人 我对datatables (jquery插件)有问题。

在datatables网格中的每行数据中,我都有一个删除数据的按钮。 当我点击删除按钮时,该行数据被删除。

问题是,我能否在不重新加载页面的情况下刷新数据表? 因此,当我点击删除按钮时,行数可以减少而不需要重新加载页面。

这是我的代码:(只是提供信息,我的datatable表格id为:id="mydatatable")

html delete button on each rows data:
-------------------------------------

<button onclick="delete('id')">Delete</button>


javascript:
-----------

delete(id)
{
    delete_ajax(id);            //deleting data using ajax

    window.location.reload()    //reloading page, this what i want to change 
                                //(just refresh datatable grid without reload the page)
}

许多感谢 :)
6个回答

5

这是快速刷新表格的多种方法之一。

const table=$("table.datatable").dataTable();
table.fnPageChange("first",1);

2

实际上我不仅需要删除,还需要添加和编辑。因此,也许我需要刷新数据表格 :) - bungdito
1
请点击链接的文档。其中有fnAddData和fnUpdate函数,很可能符合您的需求。 - digitaljoel

1
如果您的delete_ajax()函数正在处理业务逻辑,并且您想要删除当前行,您可以轻松地使用$('rowobject').hide()来移除该行。

在这里,我假设您正在使用jQuery进行JavaScript处理,因为您已经在标签中使用了jQuery。$('rowobject')是当前行的对象。 - Jatin Dhoot

1

这样就可以了 ->

oTable.fnDraw(false);

你可以这样打电话

     setInterval(function ref(){
    oTable.fnDraw(false);
    },8000);

0
如果您只想重新加载当前页面的数据,您可以使用以下代码。
table.ajax.reload();

请参考以下代码:

DataTable ajax.reload()


0
我们可以使用 DataTable API。
var currentPage = ListTable.page();

ListTable.page(0).draw( 'page' );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接