columnDefs.targets
自:DataTables 1.10
將欄定義指派給一個或多個欄位。
描述
columnDefs
選項允許定義欄定義物件,然後將其指派給 DataTable 中的一個或多個欄位,無論欄定義陣列的順序或表格中欄位的順序為何。
這個 columnDefs.targets
選項提供 DataTables 所需的資訊,以確定應將欄定義物件套用至表格中的哪些欄位。
它可以是
- 0 或正整數 - 從左側開始計數的欄索引
- 負整數 - 從右側開始計數的欄索引
- CSS 選擇器 - 將使用符合選擇器的欄位 (自 2.0 起)
- 字串
_all
- 所有欄位 (即指派預設值) - 以
:name
結尾的字串 - 這將匹配使用columns.name
定義名稱的欄位 (自 2.0 起)。 - 僅包含字母、數字、底線和破折號的字串 (以 regex 表示為
/^[a-z][\w-]*$/i
) - 類別名稱匹配。請注意,此選項是為了與 DataTables 1.x 版本向後相容而提供的。這意味著您不能僅使用元素名稱作為選擇器,但無論如何,這將僅限於標頭中的th
和td
。
此外,targets
可以是上面清單中的單個選項,或是選項陣列 (如果需要,不同的類型可以在陣列中混合)。例如,targets: [ -1, -2 ]
將針對表格中的最後和倒數第二欄。
請注意,與可以套用至 columns
和 columnDefs
的所有其他欄位配置選項不同,columnDefs.targets
選項只能在 columnDefs
中使用。
類型
此選項可以使用以下類型
範例
停用第一欄的篩選功能
new DataTable('#myTable', {
columnDefs: [
{
targets: 0,
searchable: false
}
]
});
停用第一欄和第三欄的排序功能
new DataTable('#myTable', {
columnDefs: [
{
targets: [0, 2],
orderable: false
}
]
});
停用具有 'nosort' 類別的欄位排序功能
new DataTable('#myTable', {
columnDefs: [
{
targets: 'nosort',
orderable: false
}
]
});
使用名稱來匹配欄位
new DataTable('#myTable', {
columns: [
null,
null,
null,
{ name: 'action' }
],
columnDefs: [
{
targets: 'action:name',
defaultContent: '<button>Run</button>'
}
]
});
相關
以下選項直接相關,並且在您的應用程式開發中可能也很有用。