计算某个单词在数据表中出现的总数



我想知道一个单词在我的表格中出现的次数(数据表(

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 选择操作

最新更新