我想要实现的是显示一个表,在选择一行之后,可以编辑或删除一行(进行正确的查询),这样我就需要一个我不想显示的主键。我的表看起来像这样:
<table id='documents_d' class='display'>
<thead>
<tr><th>title 1</th><th>title 2</th><th>title 3</th>
</thead>
<tbody>
<tr data-id='1'>
<td>content</td>
<td>content</td>
<td>content</td>
<tr data-id='2'>
<td>content</td>
<td>content</td>
<td>content</td></tr>
</tbody>
</table>
我使用以下脚本来运行数据表:
<script>
$(document).ready(function () {
var documents_d = $('#documents_d').DataTable({
paging: true,
dom: 'Blfrtip',
colReorder: true,
select: {style: 'single'},
rowId: 'Writer',
buttons: [
'colvis',
'excelHtml5',
{
text: 'Edit',
action: function () {
alert(documents_d.row('.selected').data());
}
}
]
});
});
</script>
而不是警报,我想运行像editDocument($ docID)这样的函数。所以首先我想选择一行(这很好),点击'Edit'后我想得到'data-id'并运行一个函数。我试过了:
documents_d.row('.selected').data("data-id")
但这会给我一个错误:
DataTables警告:table id = documents_d - 请求的未知参数 第1行第7列为“7”。有关此错误的详细信息,请参阅 见http://datatables.net/tn/4
答案 0 :(得分:1)
你可能想要这个:
$(documents_d.row('.selected').node()).data('id');
$()
包裹)然而,还有另一种方式:
https://datatables.net/reference/option/rowId
在a中的每个
id
元素上都有tr
属性通常很有用 用于行选择和数据源识别的DataTable, 特别是在使用活动时。
然后你可以使用:
documents_d.row('.selected').id();