从数据表中获取选定行的特定数据

getting specific data of selected row from Datatable

我正在拼命尝试使用数据表 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>0</td>
</tr>

解决方案?

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

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

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

有多种方法可以迭代您的数据 - 我不确定您在特定情况下如何处理“选定”行。但是 row().node() 可以满足您的需求。

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

您也可以使用 this jQuery approach 之类的东西来构建 ID 数组。

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