自定义过滤使用Button for Datatable

Suh*_*how 6 javascript datatable jquery

我使用Datatable作为我当前的项目.在我的一张桌子中,我有几列.一列的是Status,将有三个值一列Open,RejectedApproved.我想用三个按钮过滤表中显示的记录,In Progress并且Closed像这样:

<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>
Run Code Online (Sandbox Code Playgroud)

这是我使用的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();
});
Run Code Online (Sandbox Code Playgroud)

javascript代码适用于#onprogreess按钮,因为它只搜索一个值Open.如何使它适用于两个值搜索?

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

San*_*per 13

要从单列搜索多个值,您可以使用管道,如下所示:

dataTable.columns(4).search("Rejected|Done", true, false, true).draw();
Run Code Online (Sandbox Code Playgroud)

您必须传递以下四个参数:

  1. 输入:搜索要应用于表的字符串
  2. 至REGx:治疗为正则表达式(true)或没有(default, false).
  3. 智能:执行智能搜索(默认,true)或不执行(false).有关智能搜索的说明,请参见下文.
  4. CaseInsen:不区分大小写匹配(默认,true)或不匹配(false).

更多细节