计算DataTables

时间:2017-11-20 14:31:56

标签: jquery datatables

我想知道单词出现在我的表格中的次数(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>

2 个答案:

答案 0 :(得分:2)

假设您使用的是DataTables插件,则可以使用data()

搜索DataTable的数据
// 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()

的文档

答案 1 :(得分:1)

您已接近,但请使用$ API方法和:contains选择器:

var count = table.$('td:contains("'+ term +'")').length;

演示 - &gt;的 http://jsfiddle.net/mLqreyfg/

  

$():对整个表执行jQuery选择操作