從 1.8 版升級至 DataTables 1.9 版
雖然 DataTables 1.9 在程式的內部方法和整體結構上做了大量的改進,但主要目標之一是確保保留向下相容性。只有兩個小的變更不是 100% 向下相容,其中一個需要一些 CSS 來修正,另一個是狀態儲存的客製化。
分頁
- 雙按鈕分頁
- 預設的雙按鈕分頁現在使用 A 標籤,而不是 DIV 標籤,並且現在也包含語言字串「上一頁」和「下一頁」。這樣做是為了增強表格的可存取性。 您可以使用此處找到的 CSS來更新您的樣式表,以適應此變更。
- 完整數字分頁
- 完整數字分頁現在使用 A 標籤,而不是 SPAN 標籤,以增強表格的可存取性。 您可以使用此處找到的 CSS來更新您的樣式表,以適應此變更。
狀態儲存 / ColReorder
- DataTables 1.9 具有一個經過大幅改進的狀態客製化 API,但這表示必須移除舊的參數 fnStateLoadCallback 和 fnStateSaveCallback。有一個部落格文章詳細說明了這些變更以及如何使用新的選項。
- 請注意,如果您正在使用啟用狀態儲存的 ColReorder,您也必須將 ColReorder 更新到最新版本。
初始化選項
- fnCreatedCell - 新的欄位選項,與 fnRender 非常相似,但在建立 TD 儲存格時呼叫。
- fnCreatedRow - 類似於 fnCreatedCell,但在 TR 列上運作。 讓您知道何時建立新列,以便您可以對其執行操作。
- mDataProp - 如果 mDataProp 是一個函數,則傳遞新的第 2 個參數 - 告知您資料請求類型是什麼。
- aDataSort - 定義單一欄的多欄排序(即,當該欄排序時,將發生多欄排序)。
- fnStateSave - 定義儲存狀態的邏輯
- fnStateLoad - 定義載入狀態的邏輯
- fnStateLoaded - 狀態已載入的通知
- fnStateSaveParams - 修改要儲存的狀態物件
- fnStateLoadParams - 修改已載入的狀態物件,然後再重新載入狀態。
- fnRowCallback - 現在不需要傳回 TR 元素。
- fnRender - 現在傳遞第二個參數,即從原始資料來源運算的儲存格的值。
- iTabIndex - 應用於表格控制項的 tabindex 屬性值,以允許鍵盤存取。
- oLanguage.oAria.sSortAscending - 應用於 ARIA 標籤的語言字串,以指示排序啟用將導致遞增排序。
- oLanguage.oAria.sSortDescending - 應用於 ARIA 標籤的語言字串,以指示排序啟用將導致遞減排序。
API 方法
- $ - 新的 API 方法,將對表格主體的內容執行 jQuery 選取器動作。
- _ - 與新的 $ 函數非常相似,但在這種情況下,會從符合的節點傳回資料陣列,而不是節點本身。
- fnIsOpen - 新的 API 方法,將檢查 TR 元素是否為「開啟」。
- fnFilter - 新的第 6 個參數,允許控制區分大小寫的篩選選項。
- fnDestroy - 新的第一個參數,當設定為 true 時,會導致表格完全從頁面移除,而不是重新插入到原始位置。
- fnGetData - 現在也接受傳入 TD/TH 元素(除了已支援的 TR 元素之外)。 傳回的資料是 TD/TH 儲存格的資料。
已棄用的方法
- 使用 sName 搭配伺服器端處理或 Ajax 來源資料來排序欄位現在已棄用,將在下一個 DataTables 主要版本中移除。 v1.8 中引入的 mDataProp 選項提供了更大的彈性,應該優先使用 mDataProp 重新排序。 sName 參數將保留用於參考欄位。
- asStripClasses 包含錯字。 未來將僅支援正確拼寫的 asStripeClasses。
如果您在升級過程中碰巧遇到任何其他問題,請在論壇中告訴我。