我想知道一个单词在我的表格(DataTables)中出现的次数
var numberOccurence = $('tr > td:nth-child(2):contains("'+ word +'")').length;
问题是它只查看表格的可见部分, 也就是说,如果 DataTables 上有 10 页,它只给出第一页上出现的次数
怎么做呢?
编辑 这是 HTML
<div class="table-row">
<div class="table-responsive">
<table id="fileTable" class="table table-striped table-bordered">
<thead>
<tr>
<th>Date</th>
<th>Localisation</th>
<th>User</th>
<th>Like</th>
</tr>
</thead>
<tbody>
<?php foreach ($orders as $order) { ?>
<tr>
<td><?= $order['date'] ?></td>
<td><?= $order['localisation'] ?></td>
<td><?= $order['user'] ?></td>
<td><?= $order['like'] ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
最佳答案
假设您正在使用DataTables插件,您可以使用 data()
// Column name to search
var colName = 'columnName';
// Column index to search
var colIndex = 2;
var term = 'word';
// Get reference of DataTables API
var tbl = $('#myTable').DataTable();
// Get data (array of rows)
var data = tbl.data();
// Use filter function to search for term
var occurence = data.toArray().filter(function(row) {
// If data is array of objects
return row[colName].indexOf(term) !== -1;
// If data is array of strings
return row[colIndex].indexOf(term) !== -1;
}).length;
您可以查看data()的文档
关于jquery - 统计DataTables中某个单词出现的总次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47394420/