嵌套对象数据(数组)
从 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 文档中描述的协议。