使用按钮进行Datatable的自定义筛选

10

我正在使用Datatable进行我的当前项目。 在我的一个表中,我有几列。 其中一列是状态列,将具有三个值之一打开拒绝批准。 我想用三个按钮进行中已关闭过滤在表中显示的记录,就像这样:

<div class="btn-group pull-right">
    <button id="onprogress" class="btn btn-default filter">On Process</button>
    <button id="closed" class="btn btn-default filter">Closed</button>
    <button id="all" class="btn btn-default filter">All</button>
</div>

这是我使用的 JavaScript 代码:

var dataTables = $('#datatable').DataTable({
    "info": false,
    "lengthChange": false
});

$('#all').on('click', function () {
    dataTables.columns(4).search("").draw();
});

$('#onprogress').on('click', function () {
    dataTables.columns(4).search("Open" ).draw();
}); 

$('#closed').on('click', function () {
    dataTables.columns(4).search("Rejected","Approved").draw();
});

这段 JavaScript 代码可对 #onprogress 按钮正常工作,因为它只搜索一个值 Open。如何使其能够搜索两个值?

(#closed 按钮应显示状态为 RejectedDone 的记录)

2个回答

19

要从单个列中搜索 多个值,您可以使用以下方法使用管道

dataTable.columns(4).search("Rejected|Done", true, false, true).draw();
您需要按以下方式传递四个参数:
  1. 输入:要应用于表格的搜索字符串
  2. Regx:是否视为正则表达式(true)或不是(默认,false)
  3. 智能:执行智能搜索(默认为true)或不执行(false)。 有关智能搜索的描述,请参见下文。
  4. CaseInsen:进行大小写不敏感匹配(默认为true)或不匹配(false)。

更多细节


1

var table = $('#example').DataTable();

table     .columns(4)     .search(“”)     .draw();


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接