下载

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();