{hero}

column().search()

自:DataTables 1.10

在選定的欄位中搜尋資料。

描述

雖然 search() 提供了在整個表格中進行全域搜尋的功能,但此方法及其複數形式的方法,提供了在特定欄位中搜尋資料的功能。

DataTables 沒有內建任何欄位搜尋控制項,因為欄位特定資料的搜尋方式非常多樣,但此方法使新增自訂欄位搜尋控制項變得非常容易。下面的範例顯示了它可能的使用方式。

請注意,DataTables 中的此搜尋功能實際上在技術上是一種篩選,因為它是減法的。然而,我們將其稱為搜尋,以避免與 filter() 輔助方法產生命名重疊。

請注意,此方法僅設定要套用於表格的搜尋,而不會實際執行搜尋。為了執行搜尋並顯示結果,請使用 draw() 方法,它可以簡單地作為 column().search() 方法的傳回物件的鏈式方法調用,例如 table.column( 0 ).search( 'Fred' ).draw();。這是為了在執行繪製之前能夠將多個變更排入佇列。

類型

function column().search()

描述

取得目前套用的欄位搜尋。

傳回

目前套用於欄位的搜尋詞。如果沒有套用任何搜尋詞,則此值將為空字串。

function column().search( input [, options] )

描述

設定要用於選定欄位的搜尋詞,並帶有組態選項。設定搜尋詞後,調用 draw() 以更新表格的視圖。

參數
傳回

DataTables API 實例

function column().search( input [, regex[ , smart[ , caseInsen ]]] )

描述

從選取器設定欄位的搜尋詞。請注意,從 DataTables 2 開始,優先使用上述簽名,因為它提供了其他選項。此簽名保留用於向後相容性。

參數
傳回

DataTables API 實例

範例

個別欄位搜尋

var table = new DataTable('#myTable');

// #column3_search is a <input type="text"> element
$('#column3_search').on('keyup', function () {
	table
		.columns(3)
		.search(this.value)
		.draw();
});

使用 select-filter 類別為每個欄位建立搜尋。

var table = new DataTable('#myTable');

table.columns('.select-filter').every(function () {
	var that = this;

	// Create the select list and search operation
	var select = $('<select />')
		.appendTo(this.footer())
		.on('change', function () {
			that.search($(this).val(), { exact: true }).draw();
		});

	// Get the search data for the first column and add to the select list
	this.cache('search')
		.sort()
		.unique()
		.each(function (d) {
			select.append($('<option value="' + d + '">' + d + '</option>'));
		});
});

具有函式的個別欄位搜尋

let table = new DataTable('#example');

// Find any row with data in column index 3 greater than 50
table
	.column(3)
	.search((d) => d > 50)
	.draw();

相關

以下選項直接相關,在您的應用程式開發中也可能很有用。