我正在尝试使用数据表创建一个表,在选择一行后,有一个按钮可以将用户带到一个包含更多详细信息的新页面。
遵循此处的教程https://datatables.net/examples/api/select_single_row.html
我正在考虑将<tr id="ID">
设置为唯一标识符,然后在选择该行然后按下按钮时,它将传递ID并获取更详细的信息。
但是我很难获得这个id字段,我正在寻找像
这样的东西 $('#detailButton').click(function(){
window.location = 'detail.php?id=' + table.row('.selected').id;
});
编辑: 很抱歉澄清,我只想在页面底部有一个按钮,而不是每行一个按钮,也不是单击行。 在本教程中,当选择行时,它将类设置为“selected”,因此我希望获得选择了该类的行的id。
答案 0 :(得分:2)
使用$(this)
jQuery元素,您将获得触发event
的元素。如果您在选择行时触发了事件,则可以获取该元素并找到该ID。
HTML:
<table style="width:300px">
<tr id="row0">
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>
<button class="rowButton">select</button>
</td>
</tr>
<tr id="row1">
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
<td>
<button class="rowButton">select</button>
</td>
</tr>
</table>
JS:
$('.rowButton').on('click', function(){
window.location = 'detail.php?id=' + $(this).closest('tr').attr('id'); // read id from tr element
});
或
$('table tr').on('click', 'button', function(){
window.location = 'detail.php?id=' + $(this).parents('tr').attr('id'); // read id from tr element
});