繁体   English   中英

DataTables(用于jQuery的Table插件)在您离开和返回DataTable时继续在您停下的位置

[英]DataTables (Table plug-in for jQuery) continue where you left off when navigating away from and back to a DataTable

我一直在使用DataTables使网站管理员可以轻松搜索数据库数据。 我收到了很多要求用户在单击条目并导航回表时能够继续在DataTable中保留的位置的请求。 我知道我可以从头开始,并可能通过主要是服务器端的解决方案将此功能引入表中,但是我希望有一种简单的方法来捕获客户端的DataTables数据并将其提供给我服务器端应用程序,以便能够在导航回该表时在其中断处重新绘制数据表。 我想坚持使用DataTables的主要原因是,我将它动态地用于近50个不同的数据库表,而我真的不想为所有这些表实现完全不同的解决方案。 我宁愿仅以这种方式利用DataTables,以便可以将所有50页的功能动态添加到Datatables中。 任何有用的指针将不胜感激。

可能需要注意,我在服务器端使用PHP。 (更具体地说是Symfony2框架)。

DataTables具有一些内置功能来处理此问题。 该文档将其称为“状态保存”。

从文档:

DataTables可以选择保存表的状态(其分页位置,排序状态等),以便在用户重新加载页面时可以恢复该状态,或者在访问子页面后返回该页面。

使用传递给DataTables方法的配置对象中的stateSave选项启用此功能,如下所示:

$(document).ready(function() {
    $('#example').dataTable( {
        stateSave: true
    } );
} );

您还可以使用stateDuration选项控制保存时间的stateDuration

请在文档中注意此警告:

内置状态保存方法使用HTML5 localStorage和sessionStorage API来有效存储数据。 请注意,这意味着内置状态保存选项不适用于IE6 / 7,因为这些浏览器不支持这些API。

如果您需要支持那些较旧的浏览器(例如,通过使用Cookie或服务器端解决方案),DataTables提供了stateSaveCallbackstateLoadCallback选项来解决此问题。

完整的文档可以在这里找到: https : //datatables.net/examples/basic_init/state_save.html

您可能将不得不进入浏览器历史记录操作并查看HTML5 history.pushStat。 网上有很多不错的教程。 看一下:

http://diveintohtml5.info/history.html

有关历史操作的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM