columns().search.fixed()
取得/设定对一个列应用的已命名搜索。
说明
正如 search.fixed()
将“固定”搜索项应用于整个表,此方法可用于将搜索项应用于特定列。
固定搜索(也称为粘贴或已命名搜索)提供了一种将累积搜索词轻松添加到表中的方式。您可以添加多个独立的搜索词,DataTables 会将它们组合起来(AND 逻辑),显示已应用的所有搜索词的结果。
请注意,此方法将固定搜索设为仅应用于列 - 不会实际执行搜索。为了执行搜索并显示结果,请使用 draw()
方法,该方法可简单地作为此方法的链式方法调用。
使用服务器端处理时,必须在服务器端添加其他逻辑来处理固定搜索词。此外,由于搜索函数是基于客户端的,因此无法按函数搜索。
类型
函数 columns().search.fixed( name, searchTerm )
- 说明
- 参数
名称 类型 可选 1 name
否 作为正则表达式(
true
)处理,或不作为正则表达式(默认,false
)处理。2 input
否 应用于表的搜索词。
使用
null
代替此值可删除现有搜索词。如果将其指定为字符串,它将使用 DataTables 的“智能”搜索应用于表的搜索(请参见
search()
)。与正则表达式匹配时,提供的 data 为所讨论列中单元格的搜索数据。
对于函数,会将函数与两个传递的参数一起对每一行进行调用,第一个参数为正在搜索的行/列中的单元格的搜索数据,第二个参数为行的原始数据对象。应该返回一个布尔值:
true
表示保留行,false
表示将其过滤掉。- 返回
DataTables API 实例
示例
从所有列获取当前搜索名称的数组
let table = new DataTable('#myTable');
let searches = table
.columns()
.search.fixed()
.toArray();
获取预期的搜索词
let search = table.columns([1, 4]).search.fixed('mySearch');
应用搜索字符串
table.columns('.cities').search.fixed('myString', 'Paris');
将搜索正则表达式应用于列索引 0 和 1
table.columns([0, 1]).search.fixed('myRegex', /l.*n/i);
将搜索函数应用于多列
table.columns('.number').search.fixed('myFunc', (cell, data) => {
return cell > 50;
});
从所有列删除现有搜索词
table.columns().search.fixed('mySearch', null);
说明
以下选项与以下内容直接相关,在您的应用程序开发中可能同样有用。