巢狀物件資料 (物件)
DataTables 能夠透過使用 columns.data
選項,來使用幾乎任何 JSON 資料來源的資料。最簡單的情況下,它可以被用來讀取任意的物件屬性,但也可以透過使用標準的 JavaScript 點號物件表示法,擴展到 n 層的巢狀物件/陣列。在 columns.data
選項中的每個點號 (.
) 代表另一個物件層級。
在這個範例中,hr.position
指的是資料列資料來源物件中 hr
物件的 position
屬性,而 contact.0
則指的是 contact
陣列的第一個元素。可以使用任意數量的點號來取得深層巢狀的資料。
下面的範例顯示 DataTables 從巢狀物件和陣列中讀取欄位的資訊,其中此範例中資料列的資料來源結構為
{
"name": "Tiger Nixon",
"hr": {
"position": "System Architect",
"salary": "$3,120",
"start_date": "2011/04/25"
},
"contact": [
"Edinburgh",
"5421"
]
}
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
---|---|---|---|---|---|
姓名 | 職位 | 辦公室 | 分機 | 開始日期 | 薪資 |
- Javascript
- HTML
- CSS
- Ajax
- 伺服器端腳本
- 註解
以下顯示的 JavaScript 用於初始化此範例中顯示的表格
$('#example').DataTable({ ajax: 'data/objects_deep.txt', columns: [ { data: 'name' }, { data: 'hr.position' }, { data: 'contact.0' }, { data: 'contact.1' }, { data: 'hr.start_date' }, { data: 'hr.salary' } ], processing: true });
new DataTable('#example', { ajax: 'data/objects_deep.txt', columns: [ { data: 'name' }, { data: 'hr.position' }, { data: 'contact.0' }, { data: 'contact.1' }, { data: 'hr.start_date' }, { data: 'hr.salary' } ], processing: true });
除了上述程式碼之外,還載入了以下 JavaScript 函式庫檔案以供本範例中使用
以下顯示的 HTML 是原始 HTML 表格元素,在它被 DataTables 增強之前
本範例除了從函式庫檔案載入的 CSS (如下) 外,還使用了一些額外的 CSS,以便正確顯示表格。使用的額外 CSS 如下所示
載入以下 CSS 函式庫檔案以供本範例中使用,以提供表格的樣式設定
此表格透過 Ajax 載入資料。以下顯示已載入的最新資料。當載入任何其他資料時,此資料將自動更新。
以下顯示用於執行此表格的伺服器端處理的腳本。請注意,這只是一個使用 PHP 的範例腳本。伺服器端處理腳本可以使用任何語言編寫,使用 DataTables 文件中描述的協定。