自定义过滤使用Button for Datatable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义过滤使用Button for Datatable相关的知识,希望对你有一定的参考价值。

我使用Datatable作为我当前的项目。在我的一张桌子中,我有几列。其中一列是Status列,它将具有三个值OpenRejectedApproved中的一个。我想用三个按钮In ProgressClosed过滤表中显示的记录,如下所示:

<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代码适用于#onprogreess按钮,因为它只搜索一个值Open。如何使它适用于两个值搜索?

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

答案

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

dataTable.columns(4).search("Rejected|Done", true, false, true).draw();

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

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

(true)

另一答案

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

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

以上是关于自定义过滤使用Button for Datatable的主要内容,如果未能解决你的问题,请参考以下文章

vue如何自定义过滤器

vue中全局使用自定义过滤器filter

django之模板层

自定义过滤器

Django中的自定义过滤器

自定义标签过滤器