我想知道一个单词在我的表格中出现的次数(数据表(
var numberOccurence = $('tr > td:nth-child(2):contains("'+ word +'")').length;
问题是它只看表格的可见部分,也就是说,如果 DataTable 上有 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>
假设您使用的是数据表插件,您可以使用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(( 的文档
您很接近,但使用 $
API 方法和 :contains
选择器:
var count = table.$('td:contains("'+ term +'")').length;
演示 -> http://jsfiddle.net/mLqreyfg/
$((:对整个表执行 jQuery 选择操作