从Jquery Data表中获取标记的id

时间:2014-06-14 01:10:39

标签: javascript jquery datatables

我正在尝试使用数据表创建一个表,在选择一行后,有一个按钮可以将用户带到一个包含更多详细信息的新页面。

遵循此处的教程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。

1 个答案:

答案 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
});