table-selector
≡ 显示网站导航
表格的选择器选项。
DataTables tables()
和 table()
方法提供了选择全部表格或 API 实例上下文中部分表格的能力。API 实例的上下文是使用可用方法操作该实例时 DataTables 将执行操作的数据表(比如可以通过单个调用更改多个表格的页面)。有关 API 如何操作的详细信息,请参阅 API 手册。
大多数 API 调用将自动操作 API 上下文中的所有表格,但 tables()
和 table()
方法可用于选择这些表格的子集。选择的内容以及选择器实际如何操作受此 table-selector
数据类型控制。
选项
可以选择用多种不同形式提供表格选择器,以便轻松地将其应用于数据和用例
- 无选择器 - 选择所有表格
integer
- 表格索引选择器string
- jQuery 选择器node
-table
元素选择器jQuery
- 表格节点的 jQuery 对象array
- 包含上述选项任意组合的数组
无选择器
如果没有给定选择器(更具体地说是 undefined
),则选择所有表格。
获取当前上下文中所有表格中的数据
var tables = new DataTable('.dataTable');
var allData = tables.tables().rows().data();
// note that the above is the same as:
// tables.rows().data(); as `rows()` operates on
// all tables in the current context!
integer
如果给出了表格选择器的整数,则选择该上下文中具有该索引的表格。
获取当前上下文中第一个表格的节点
var tables = new DataTable('.dataTable');
var data = tables.table( 0 ).data();
string
当选择器以字符串形式给出时,它会被视为 jQuery 选择器,该选择器对 table
元素本身进行操作。有关 jQuery 选择器可用选项的详细信息,请参阅 jQuery 选择器文档。
请注意,与 jQuery 选择器类似,当作为字符串提供选择器时,可以使用逗号分隔符号(即将它们用逗号分隔开)提供多个选择器。
按类名选择表格
var tables = new DataTable('.dataTable');
tables
.tables('.cell-selector')
.page( 'next' )
.draw( false );
按 ID 选择表格
var tables = new DataTable('.dataTable');
var table = tables.table('#example');
通过 ID 选择两个表格
var tables = new DataTable('.dataTable');
tables.tables('#clients, #owners');
node
tables
DOM 元素可用作表格选择器,从中选择 DataTabels API 中的某个表格。这对于在只有 DOM 节点可作为参考时(例如在事件处理程序中)获取一行的数据或执行其他基于行的操作来说非常有用。
获取单击表格的数据
var tables = new DataTable('.dataTable');
$('.dataTable tbody').on( 'click', 'tr', function () {
var tableData = tables.table( this.parentNode.parentNode );
// ... do something with `tableData`
} );
jQuery
与上述 node
类型非常相似(因为 jQuery 对象是 DOM 节点的类似数组的列表),因此可以将 jQuery 实例用作表格选择器,其中一些通过 jQuery 选择的节点与 API 实例上下文中可用的节点相匹配。
获取单击表格的数据
var tables = new DataTable('.dataTable');
$('.dataTable tbody').on( 'click', 'tr', function () {
var tableData = tables.table( $(this).parents('table') );
// ... do something with `tableData`
} );
array
可以将上述任意选项的组合作为选择器提供,这提供了一种选择多个表格或混合选择类型的方法,只需在数组中提供所需的 selector 选项即可。
根据 id 获取两个表格的数据
var tables = new DataTable('.dataTable');
var data = tables.tables( ['#table-1', '#table-3'] ).data();
混合使用 table-selector
类型 - id 和类选择器
var tables = new DataTable('.dataTable');
var data = table.tables( ['#table-1', '.important'] ).data();