gpt4 book ai didi

javascript - 如何在 API 函数调用上下文中从数据表中获取搜索到的行

转载 作者:行者123 更新时间:2023-12-03 04:05:10 26 4
gpt4 key购买 nike

JSFiddle 对于这个问题:http://jsfiddle.net/nhg5ej4s/

我使用1.10.15版本的Datatables。

我在 API 中注册了这个 sum() 函数:

 $.fn.dataTable.Api.register('sum()', function () {
var data = this.flatten().toArray();
return data.reduce(function (a, b) {
return (a * 1) + (b * 1); // cast strings
}, 0);
});

当我需要使用这个功能时,例如在 drawCallback 中页脚中更新总计的选项(请参阅 JSFiddle 了解上下文):

var table = $('#example').DataTable({
drawCallback: function (settings) {
var api = this.api();
$(api.column(5).footer()).html('Total: ' + api.column(5).data().sum());
}
});

该函数有效,但是当我通过任何搜索对表应用过滤器时,传递给 sum() 的值将采用所有行,而不是通过搜索过滤的行。

有办法在 sum() 函数中识别搜索上下文吗?

PS:在编写此问题时,我意识到我可以在列调用中传递一个选项,该选项将仅过滤搜索的行:api().column(5, {'search' : 'applied'}).data().sum() 但我决定保留这个问题,以了解是否有办法在 sum() 代码中执行此操作。 JSFidlle with this update

最佳答案

老实说,“搜索”:“应用”是你最好的选择,特别是当你进入分页时。如果您确实想在 sum() 函数中添加一些内容,您可以查看此内容以获取其他想法: Retrieving row data after filtering JQuery Datatables

关于javascript - 如何在 API 函数调用上下文中从数据表中获取搜索到的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44592425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com