【问题标题】:click event in js datatables (broken with paging)js数据表中的点击事件(分页中断)
【发布时间】:2019-02-14 10:57:13
【问题描述】:

我希望在每个datatable row 中都有一个带有 js 点击的按钮,但是我的代码被datatables paging 系统破坏了 - 默认数据表选项。单击仅适用于第一个数据表页面。我唯一的想法是禁用分页并创建可滚动的数据表,但我更愿意继续分页以获得更好的用户体验。

示例数据表:

<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 解决方案?

【问题讨论】:

  • 为您的问题创建一个 jsfiddle,我很乐意研究一下 :-)
  • 这里是:jsfiddle.net/vy0fjpbg 我希望没问题,因为我很少使用 jsfiddle。
  • 问自己这个问题“这个小提琴会重现我的问题吗?”,如果答案是肯定的,那很好,如果答案是否定的,那么你需要重现你的问题。
  • 确实如此。然而 Arthur Shveidas 解决方案工作正常。无论如何,谢谢。
  • 很高兴知道您找到了解决方案 :-) 下次您提出问题时请采纳我的建议,干杯!

标签: javascript html datatables paging


【解决方案1】:

你可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-03
    • 2017-12-10
    • 2016-04-23
    • 2013-04-20
    • 2012-06-20
    • 2020-06-26
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多