首页 > 解决方案 > 从数据表中获取选定行的特定数据

问题描述

我正在拼命尝试使用数据表 jquery 从所选行中获取特定信息。我想获取第二列的 data-ID 属性,但我只能访问单元格的内容。

var rows = table.rows({selected: true} ).data().toArray();
        for (let i in rows) {
            console.log(JSON.stringify( rows[i][1] )); //shows Jason
        }

<tr>
<th>Customer name</th>
<th>City</th>
<th>Amount</th>
</tr>

<tr id="1234">
<td data-id="553">Jason</td>
<td>Paris</td>
<td>$140</td>
</tr>

一个解法?

标签: javascriptarraysselectdatatable

解决方案


您可以使用 访问<tr>每行的节点row().node()

拥有<tr>节点后,您可以访问其 ID:

table.rows( {selected: true} ).every( function () {
  rowNode = this.node();
  console.log( rowNode.id );
} );

有不同的方法可以迭代您的数据 - 我不确定您在特定情况下如何处理“选定”行。但row().node()给你你所需要的。

作为替代方案,对于一次多行,有rows().nodes().

您也可以使用类似jQuery 的方法来构建 ID 数组。

但所有这些变体都使用 DataTables 行相关node()nodes()API 调用。这意味着您可以处理整个表格 - 包括未显示的行(例如由于分页)。


推荐阅读