javascript - 使用数据表的按钮自定义过滤

标签 javascript jquery 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. Regx:视为正则表达式 (true) 或不(default, false)
  3. 智能执行智能搜索(默认,true)或不执行(false)。有关智能搜索的说明,请参见下文。
  4. CaseInsen:不区分大小写匹配(默认,true)或不区分大小写(false)。

More details

关于javascript - 使用数据表的按钮自定义过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38824238/

相关文章:

javascript - jQuery 点击功能在第二次运行时无法正常工作

javascript - DataTable 导致 javascript 停止执行 - 控制台中没有错误

javascript - 将 js css 等其他文件包含到 html 中

javascript - 在 Kendo UI 网格中处理 100 万条记录

javascript按钮一次只切换一个

javascript继承函数导致jquery错误

ajax - 使用ajax分页的primefaces数据表重新创建viewscoped bean

C# 导出表格到 Excel

javascript - Vanilla Javascript 文本框数据绑定(bind),如 AngularJS

javascript - 通过多个函数循环/设置间隔?