巢狀物件資料 (物件)

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 文件中描述的協定

      其他範例