巢狀物件資料 (陣列)

從 Ajax 資料來源讀取的資訊可能任意複雜,但仍然可以透過 columns.data 選項顯示在 DataTables 中,這對於處理已經定義格式的 JSON 饋送特別有用。

columns.data 選項不僅能夠從物件讀取資訊,還可以使用與物件相同的點式物件語法從陣列讀取資訊。 除此之外,當使用陣列資料來源時,columns.data 可以處理資料,以簡單的形式組合和顯示資料 (更複雜的形式可以使用 columns.data 作為函數來定義)。

此範例顯示使用 columns.data 讀取陣列的兩個不同方面

  • 姓名欄位來源於兩個元素的陣列 (名字和姓氏),它們會自動串連在一起。這是透過使用陣列方括號語法完成的,括號之間的字元會被用作元素之間的膠水 (例如 name[, ])。
  • 職位開始日期薪資 欄位是使用點式物件表示法直接從陣列元素讀取的 (例如 hr.0)。 請注意,資料在欄位中使用的順序不必與資料來源中定義的順序一致。 在此範例中,列資料來源的結構是
{
	"name": [
		"Nixon",
		"Tiger"
	],
	"hr": [
		"System Architect",
		"$3,120",
		"2011/04/25"
	],
	"office": "Edinburgh",
	"extn": "5421"
}
姓名 職位 辦公室 分機 開始日期 薪資
姓名 職位 辦公室 分機 開始日期 薪資
  • Javascript
  • HTML
  • CSS
  • Ajax
  • 伺服器端腳本
  • 評論

下面顯示的 Javascript 用於初始化此範例中顯示的表格

$('#example').DataTable({ ajax: 'data/objects_subarrays.txt', columns: [ { data: 'name[, ]' }, { data: 'hr.0' }, { data: 'office' }, { data: 'extn' }, { data: 'hr.2' }, { data: 'hr.1' } ] });
new DataTable('#example', { ajax: 'data/objects_subarrays.txt', columns: [ { data: 'name[, ]' }, { data: 'hr.0' }, { data: 'office' }, { data: 'extn' }, { data: 'hr.2' }, { data: 'hr.1' } ] });

除了以上程式碼之外,還載入了以下 Javascript 函式庫檔案以供此範例使用

    下面顯示的 HTML 是原始 HTML 表格元素,在它被 DataTables 增強之前

    此範例除了從函式庫檔案載入的 CSS (如下所示) 外,還使用了一些額外的 CSS,以便正確顯示表格。使用的額外 CSS 如下所示

    載入了以下 CSS 函式庫檔案以供此範例使用,以提供表格的樣式

      此表格透過 Ajax 載入資料。下面顯示已載入的最新資料。 當載入任何其他資料時,此資料將自動更新。

      下面顯示用於執行此表格伺服器端處理的腳本。請注意,這只是一個使用 PHP 的範例腳本。 伺服器端處理腳本可以使用任何語言編寫,使用 DataTables 文件中描述的協定

      其他範例