DataTables.SearchOptions
DataTables 搜尋選項物件。
說明
DataTables 內建的搜尋功能可設定,以微調搜尋的執行方式。此物件描述可用於微調的選項。它用於 search
和 searchCols
初始化選項,以及 search()
和 column().search()
API 方法。
使用 Typescript 定義,搜尋選項類型定義為
interface DataTable.SearchOptions {
boundary?: boolean,
caseInsensitive?: boolean,
exact?: boolean,
regex?: boolean,
smart?: boolean
}
請注意,這些屬性會影響 DataTables 在用戶端上的搜尋行為。如果您有伺服器端處理 (serverSide
),則搜尋設定完全由伺服器端腳本負責。
屬性
以下屬性可用於搜尋選項資料物件
boundary
從單字開頭開始比對。這對於想要讓搜尋詞(例如male)比對到Male但不是Female的情況很有用。使用空白不重要的語言時也必須小心,例如,使用中文時,此選項可能會導致整個段落中只有第一個字元比對到。此選項僅在啟用smart
搜尋時才可用。
預設值:false
自:DataTables 2.0 使用 API 的範例
table.search('male', {
boundary: true
});
caseInsensitive
指出是否應執行不區分大小寫的搜尋 (true
),或者搜尋是否應比對大小寫 (false
)。
預設值:true
自:DataTables 1.10 使用 API 的範例
table.search('Chief', {
caseInsensitive: false
});
exact
此選項會修改搜尋,以對表格中的值執行精確比對(基於字串)- 例如,從單字的開頭到結尾,而不是 DataTables 預設使用的「包含」搜尋。這對於欄資料搜尋特別有用 - 事實上,您不太可能想要在整列上使用此選項,因為它基於效能原因在快取的搜尋值上使用字串串連。
如果啟用此選項,它將覆蓋不相關的 boundary
、'smart和
regex` 選項。
預設值:false
自:DataTables 2.0 使用 API 的範例
table.column(1).search('Allan', {
exact: true
});
regex
指出是否應將搜尋詞視為正規表示式。如果為 false
,輸入詞的任何正規表示式字元都將被逸脫,以用於 DataTables 執行的正規表示式。請注意,從 DataTables 2.0 開始,不建議使用此選項 - 如果您希望執行正規表示式搜尋,請將搜尋詞作為 RegExp
物件傳遞(而不是將正規表示式放入字串中)。
通常,如果啟用此選項,您應停用 smart
選項,因為 DataTables 自己的正規表示式可能會干擾此處給定的任何表示式。
預設值:false
自:DataTables 1.10 使用 API 的範例
table.search('Eur.*', {
regex: true,
smart: false
});
smart
此選項可用於啟用和停用 DataTables 的智慧搜尋選項。啟用智慧搜尋後,您可以
- 依任何順序搜尋單字
- 將字串括在雙引號中以執行精確比對(就像使用搜尋引擎一樣)
- 以
!
開頭單字以執行否定搜尋(即,搜尋只會比對不包含下列單字的記錄)。
預設值:true
自:DataTables 1.10 使用 API 的範例
table.search('"New York" -Chief', {
smart: true
});
自訂搜尋
如果以上用於自訂 DataTables 內建搜尋的選項不符合您的需求,您可以使用函數作為搜尋詞,以便為搜尋使用 100% 自訂的邏輯。有關詳細資訊,請參閱 search()
和 搜尋手冊。