动态表中按钮的 Jquery 单击事件不起作用

标签 jquery html datatables

我有一个动态生成的表,每行都有一个按钮。该按钮看起来像这样:(不要担心奇怪的 id(如果这不是错误的原因,至少)。这是一个 JavaServer Page (JSP),按钮的 ID 包含一些有用的内容稍后我可以使用。

<table id="myTableRooms" class="table table-bordered table-hover">
    <thead>
        ... A couple of rows
        <tr><th>buttons</th></tr>
    </thead>
    <tbody>
        ... A couple of rows
        <td>
            <button type="button" class="btn btn-danger btn-sm deleteRoomBtn" id="${room.id} ${i.index}">
            <span class="glyphicon glyphicon-remove-circle"></span>button</button>
        </td>
    </tbody>
</table>

该表的 JavaScript 如下:

$(document).ready(function () {
   var table = $('#myTableRooms').DataTable();
   $(table).on( 'click', 'input', function () {
        table.fnDeleteRow( this );
      });
});

当我将选择器从 input 更改为 tr 时,如 example 所示当我单击一行时,它确实会删除表格的行。我想要的是当我单击行中的按钮时该行消失,所以我认为我需要获得正确的选择器。我尝试了很多东西,包括 .deleteRoomBtninput,但是唉。

这只是选择器正确的情况,还是我的整个设置错误?

最佳答案

大概是这样的? http://jsfiddle.net/MnT5y/

基本上,当您单击按钮时,您会告诉 jQuery 找到与单击的按钮最近的行,然后将其删除。这是一个简单的代码,对您来说是一个良好的开始。

$('button').on('click', function(){
    $(this).closest('tr').fadeOut('slow', function(){
        $(this).remove();
    });
});

关于动态表中按钮的 Jquery 单击事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23438565/

相关文章:

c# - MVC 中启用 Ajax 的 WCF 返回 404

javascript - 这个 JavaScript 可以简化吗?

html - 如何修复导航栏中 Logo 的错误对齐?

javascript - 如何修复 Datatables 语言插件不工作?

javascript - 实现更改 fadeIn fadeOut 内容菜单 Jquery 的最佳方式

jquery - 使用 asp.net core 删除所需的验证

html - d3,svg 中的 html,动画不透明度使 div 失去了位置,为什么?

javascript - Angular : how to load data on a partial?

jquery - DataTables:如果标题中有复选框和弹出控件,如何避免列排序?

javascript - 使用 jquery 数据表插件将选择菜单添加到多个表