js数据表中的click事件(分页中断)

时间:2019-02-14 10:57:14

标签: javascript html datatables paging

我想在每个datatable row中单击一个带有js的按钮,但是我的代码被datatables paging系统(默认的datatable选项)破坏了。单击仅在第一个数据表页面上起作用。我唯一的想法是禁用分页并创建可伸缩的数据表,但我希望保留分页以获得更好的UX。

示例数据表:

<table id="data_tables">
<thead>
    <tr>
        <td>Action</td>
        <td>Name</td>
        <td>Surname</td>
    <tr>      
</thead>
<tbody>
    <!-- Datarow 1 -->
    <tr>
        <td><input type='button' class='my_button' data-id='1' value='click' /></td>
        <td>John</td>
        <td>Wayne</td>
    </tr>
    <!-- Datarow 2 -->      
    <tr>
        <td><input type='button' class='my_button' data-id='2' value='click' /></td>
        <td>Clark</td>
        <td>Kent</td>
    </tr>
</tbody>
</table> 

点击事件处理程序

//simple on() in jquery would do the trick in normal <table>
$( ".my_button" ).on( "click", function() {
    var id = $(this).attr("data-id");
    alert(id); 
});     

是否有解决此问题的方法?或者也许是数据表API解决方案?

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

$("#data_tables").on("click", ".my_button", function() {
    var id = $(this).data("id");
    alert(id);
});