如何从 Datatables jQuery 插件中提取过滤后的数据?

Posted

技术标签:

【中文标题】如何从 Datatables jQuery 插件中提取过滤后的数据?【英文标题】:How to extract filtered data from Datatables jQuery plugin? 【发布时间】:2012-01-28 06:42:37 【问题描述】:

我正在使用 jQuery 插件 Datatables 使用 phpmysql 数据库中的大量数据进行排序、过滤和分页。我需要我的应用程序根据表中的过滤数据运行特定功能。

例如,我的一个数据表显示系统中的所有用户,可以按用户类型(受限、标准、管理员)进行过滤。我希望能够运行一个功能来打印过滤用户的详细记录。

Datatables 插件允许我这样做吗?如果是这样,我在文档中没有找到任何直观的东西。

请帮忙!

【问题讨论】:

【参考方案1】:

你想要的是fnGetFilteredNodes,来自API插件。

检查the documentation here。

我认为您应该有一个隐藏列来存储记录 ID,然后循环 fnGetFilteredNodes 的结果以获取过滤后的 ID,最终执行您想要的任务(例如从服务器获取过滤用户的详细信息-边...)

<script type="text/javascript" src="jquery.dataTables.js"></script>
<script type="text/javascript" src="dataTables.fnGetFilteredNodes.js"></script>
<script type="text/javascript">
    $(document).ready(function() 
        var oTable = $('#example').dataTable();

        $('#button').click( function () 
            var nFiltered = oTable.fnGetFilteredNodes();
            // do something with the results
            alert( nFiltered.length +' nodes were returned' );
         );
     );
</script>

【讨论】:

有趣。我以前没有看到这种选项。所以我想我可以将记录 ID 存储到一个数组中,然后根据这些值运行我的函数? ._('tr', "filter":"applied")

以上是关于如何从 Datatables jQuery 插件中提取过滤后的数据?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 插件 DataTables:如何突出显示当前搜索文本?

如何设置jquery插件DataTables属性 邵珠庆の博客

求教jquery datatables 插件如何生成一列序号列

如何使用 Datatables Jquery 插件销毁表并使用新的更新数据重新初始化同一个表

如何在DataTables 1.10中使用JQuery DataTables“input”插件

jquery.serialize() 无法使用 dataTables 插件从第二页开始工作