从数据表中获取选定行的特定数据
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 - 包括未显示的行(例如,由于分页)。
我正在拼命尝试使用数据表 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 - 包括未显示的行(例如,由于分页)。