gpt4 book ai didi

jQuery Datatables 绘制在过滤方法后不起作用

转载 作者:行者123 更新时间:2023-12-01 01:33:09 24 4
gpt4 key购买 nike

我(尝试)使用 jQuery 数据表 https://datatables.net/

我的表格中有一列仅包含数字。例如:

<table id="queue-table">
<tr>
<td>Name</td>
<td>Count</td>
</tr>
<tr>
<td>joe</td>
<td>1</td>
</tr>
<tr>
<td>sam</td>
<td>0</td>
</tr>
<tr>
<td>mike</td>
<td>2</td>
</tr>
</table>

我想制作一个过滤器,仅显示计数大于 0 的行。所以我无法进行搜索,因为它可以是 1、2、3 等...

我正在尝试使用 filter() 方法。这是文档 https://datatables.net/reference/api/filter()

这是我的代码:

var table = $('#queue-table').DataTable();

table.column(1).data().filter( function ( value ) {
return value > 0 ? true : false;
}).draw();

我希望这会绘制只有 2 条记录的表,但它显示了所有行。我在这里做错了什么?

最佳答案

filter() 返回一组过滤后的行,它不会对数据集本身执行过滤。正如您在问题中提供的链接所说:

This method should not be confused with search()DT which is used to search for records in the DataTable. (...) and is provided as a utility method for the DataTables API.

(请参阅下面的演示以了解概念证明 - 您的代码完全按照其预期执行的操作:它返回一个包含两行的 API 实例,其中包含值 12)。

要执行您想要的操作,您可以创建自定义过滤函数:

$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
return parseInt(data[1]) > 0 ? true : false;
}
);
table.draw();

查看演示 -> http://jsfiddle.net/fw8zu34t/

关于jQuery Datatables 绘制在过滤方法后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266083/

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