{hero}

DataTables.SearchOptions

DataTables 搜尋選項物件。

說明

DataTables 內建的搜尋功能可設定,以微調搜尋的執行方式。此物件描述可用於微調的選項。它用於 searchsearchCols 初始化選項,以及 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、'smartregex` 選項。

預設值: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()搜尋手冊