cells().invalidate()
使 DataTables 中所選取儲存格的資料失效。
描述
DataTables 會快取表格中每個儲存格的內容資訊,以提高表格操作的效能,例如排序和搜尋。如果您修改了儲存格的內容(對於 DOM 資料來源表格)或陣列/物件值(對於 Ajax/JS 資料來源表格),DataTables 不會知道發生了這種情況。此方法可用於告知 DataTables 重新從資料來源讀取該列的資訊(無論是來自 DOM 還是物件/陣列 - 無論原始資料來源是什麼)。
這提供了另一種方法來替代使用 cell().data()
和 row().data()
來變更儲存格的值。通常,相較於失效方法,data
方法會是首選,因為它們使用較少的程式碼,但當表格的資料來源是可以使用該物件自身方法更新的外部物件時,失效方法真正發揮作用。
在此方法之前,實際會使所選取儲存格的整列失效。從現在開始,只會使有問題的儲存格失效。
類型
function cells().invalidate( [ source ] )
- 描述
使所選取儲存格中的資訊失效
- 參數
名稱 類型 選用 1 source
是 - 預設值:auto 讀取新資料的資料來源。
預設情況下,DataTables 將自動從原始讀取的相同來源(即 DOM 來源或 Javascript 來源)讀取該列的新資料,但此參數可用於覆寫該行為並明確告知 DataTables 應該使用哪個來源讀取新資料。如果您正在使用 Ajax 載入資料,但使用 DOM 修改儲存格內容,這可能會很有用。
此屬性可以採用以下值
auto
- 使用原始資料來源data
- 使用 Javascript 資料結構dom
- 使用目前 DOM 中保存的資料
- 回傳
結果集中具有所選儲存格參考的 DataTables API 實例
範例
使用 jQuery 修改儲存格的內容,然後使 DataTables 保存的資料失效
var table = new DataTable('#myTable');
var td = $('#example tbody td:eq(0)');
td.html('Updated');
table
.cell(td)
.invalidate()
.draw();
相關
以下選項直接相關,並且在您的應用程式開發中也可能很有用。