javascript - 数据表行数不适用于搜索结果

标签 javascript jquery datatable datatables datatables-1.10

在 View 中,代码工作正常并向我显示计数和结果。也在搜索中。但是,当我搜索任何单词时,我希望根据搜索结果进行计数,但在我的情况下,它会显示所有价格字段的总数。它没有显示当前的搜索结果数。谁能帮帮我?

用于自定义搜索和最后两个字段计数的我的数据表代码:

$(document).ready(function() {
    var table = $('#example').DataTable({
        "scrollX": true,
        "bLengthChange": false,
        dom: 'Bfrtip',
        buttons: [{
        extend: "excel",
        className: "darse"
    },{
        extend: "print",
        className: "ddf"
    }]
});

最佳答案

确保在 selector-modifier 中设置 search: 'applied'column方法。

$('<p>' + table.column(6, {
    page: 'current',
    search: 'applied'
}).data().sum() + '</p>').prependTo('#demo');

在初始抽奖后,您也只调用了一次总和。将对 sum 的调用移至 drawCallback . 下面是一个例子:

$.fn.DataTable.Api.register('column().data().sum()', function() {
  return this.reduce(function(a, b) {
    var x = parseFloat(a) || 0;
    var y = parseFloat(b) || 0;
    return x + y;
  }, 0);
});

$(document).ready(function() {
  var table = $('#example').DataTable({
    "bLengthChange": false,
    dom: 'Bfrtip',
    drawCallback: function(settings) {
      var api = this.api();
      $('<p>' + api.column(1, {
          page: 'current',
          search: 'applied'
      }).data().sum() + '</p>').prependTo('#demo');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>
<span id="demo" />
<table id="example">
  <thead>
    <tr>
      <th>Text</th>
      <th>Number</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th>Text</th>
      <th>Number</th>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>Alpha</td>
      <td>3</td>
    </tr>
    <tr>
      <td>Beta</td>
      <td>4</td>
    </tr>
    <tr>
      <td>Gamma</td>
      <td>8</td>
    </tr>
    <tr>
      <td>Delta</td>
      <td>5</td>
    </tr>
  </tbody>
</table>

关于javascript - 数据表行数不适用于搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48902053/

相关文章:

javascript - js自动赋值

javascript - 我想要 jquery 可拖动脚本来记住位置

c# - 从 SQL 服务器表的模式自动定义 C# 中的数据表?

jquery - 如何使用 Knockout 实现模糊时间日期替换器?

javascript - jQuery:我该如何改进这段代码?

linq - 如何使用 linq 从 DataTable 中过滤掉空行?

c# - 通过Datatable在DataGridView中添加Combobox

javascript - 我可以使用 'react-redux' 'connect' HOC 通过 mapStateToProps 为 'generic' React 组件提供自定义选择器吗?

javascript - 在不阻止默认行为的情况下检测 IE10 中的捏/缩放

javascript - 通过javascript隐藏div