search.fixed()
获取/设置可应用于表格的已命名搜索。
描述
此方法提供将“已修复”搜索应用于数据表格的能力。它们也可称为粘性或已命名搜索。与标准搜索词的主要区别在于,已修复的搜索不会被应用的下一个搜索词立即替换。它始终应用于表格,直至被同名搜索替换或被删除。
当你想要多层搜索时,已修复的搜索词特别有用——即添加多个搜索词并让表格显示累积结果。
此界面通常应由为 DataTables 创建自定义搜索界面的开发者使用。
请注意,此方法会设置仅应用于表格的已修复的搜索——它实际上不会执行搜索。为了执行搜索并显示结果,请使用 draw()
方法,可以简单地作为此方法的连锁方法调用。
使用服务器端处理时,必须在服务器端添加额外的逻辑来处理已修复的搜索词。此外,由于搜索函数基于客户端,因此无法通过函数搜索。
类型
函数 search.fixed( name, searchTerm )
- 描述
使用名称将其作为唯一标识符,设置要应用于表格的搜索词。
- 参数
名称 类型 可选 1 name
否 要赋予搜索词的名称,以便将来可以对其进行寻址。
2 input
否 要应用于表格的搜索词。
为此值使用
null
来删除现有的搜索词。如果作为字符串提供,它将使用 DataTables 的“智能”搜索应用于表格的搜索(参见
search()
)。如果使用正则表达式,请注意,正则表达式应用于包含来自所有可搜索列的搜索数据的单个字符串(双空格连接)。
就函数而言,会为每行调用该函数,同时传入三个参数
- 表中所有可搜索列的数据搜索字符串
- 该行的原始数据对象
- 该行的 data 索引
应返回一个布尔值:
true
表示保留该行,false
表示将其筛选掉。- 返回
DataTables API 实例
示例
获取当前搜索名称的数组
let table = new DataTable('#myTable');
let searches = table.search.fixed().toArray();
获取预期搜索词
let search = table.search.fixed('mySearch');
应用搜索字符串
table.search.fixed('myString', 'Paris');
应用搜索正则表达式
table.search.fixed('myRegex', /l.*n/i);
应用搜索函数
table.search.fixed('myFunc', (row, data) => {
return row.includes('New York');
});
删除现有的搜索词
table.search.fixed('mySearch', null);
相关
以下选项直接相关,在应用程序开发中也可能有用。