YADCF - 使用隐藏列进行过滤

时间:2017-07-09 10:29:04

标签: javascript jquery datatables yadcf

通过这个jsFiddle,我想知道YADCF等效的隐藏列,如用于标准DataTables所示,以便从隐藏列进行过滤(DataTable的目标似乎是等效的)到YADCF的专栏编号)。

下面是我想要隐藏第一列的表的代码,  但仍允许从中过滤。

$(document).ready(function() {
  'use strict';
  var foodTable = $('#foodTable').DataTable({
  });
  yadcf.init(foodTable, [{
      column_number: 0,
      filter_type: "select",
      visible: "false"
    },
    {
      column_number: 1,
      filter_type: "select"
    }
  ], {
    cumulative_filtering: true,
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/yadcf/0.9.1/jquery.dataTables.yadcf.js"></script>
<table id="foodTable">
  <thead>
    <tr>
      <th>Category</th>
      <th>Type</th>
      <th>Subtype</th>
      <th>Comments</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Fruit</td>
      <td>Apple</td>
      <td>Fuji</td>
      <td>Very sweet apple</td>
    </tr>
    <tr>
      <td>Vegetable</td>
      <td>Pumpkin</td>
      <td>Butternut</td>
      <td>Very fibrous pumpkin</td>
    </tr>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:1)

您应该将隐藏列的过滤器放在表格的一侧,为此您可以使用filter_container_id(阅读文档)

例如

yadcf.init(oTable, [{
    column_number: 0,
    filter_container_id: "myId",
    column_data_type: "html",
    filter_type: "multi_select"
},{
    column_number: 1,
    filter_type: "multi_select"
}], "footer");

See working jsfiddle

<div id="myId">
</div>

关于 cumulative_filtering ,您应该使用更新版本的yadcf(请参阅更改日志)