嵌套对象数据(数组)

从 Ajax 数据源读取的信息可以任意复杂,但仍可以通过 DataTables 使用 列数据 选项进行显示,这对于以已定义的格式使用 JSON 源特别有用。

列数据 选项不仅能够从对象读取信息,而且还能使用与对象相同的点对象语法从对象读取信息。除此之外,在处理数组数据源时,列数据 可以处理数据以组合和以简单形式显示数据(可以使用 列数据 作为函数来定义更复杂的形式)。

此示例显示了使用 列数据 读取数组的两个不同方面

  • 姓名 列源自一个有两个元素(名字和姓氏)的数组,这些元素会自动连接在一起。这是通过使用数组括号语法完成的,括号之间的字符用作元素之间的粘合剂(例如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 库文件以在此示例中使用,以提供表格样式

      此表格通过 Ajax 加载数据。加载的最新数据显示在下面。任何额外数据加载后,此数据将自动更新。

      执行此表服务器端处理所使用的脚本如下所示。请注意,这只是一个使用 PHP 的脚本示例。服务器端处理脚本可以用任何语言编写,使用 DataTables 文档中描述的协议

      其他示例