javascript - jQuery [button.class] 未检测到添加带有按钮的行

标签 javascript php jquery mysql append

好吧,我基本上有一个由 PHP 为每一行绘制的表格。在该行中,我有数据和一个“删除”按钮来删除特定行。

<?php
   if ($result->num_rows > 0) {
     // output data of each row
     while($row = $result->fetch_assoc()) {
         echo "<tr class='btnDelete' data-id=" . $row["username"]. "><td>" . $row["id"]. "</td><td>" . $row["username"]. "</td><td><span class='label label-success'>" . $row["active"]. "</span></td><td><button class='btn btn-danger btnDelete btn-xs' href=''>delete</button></td></tr>";
     }
}   
?>

为了删除该行,我有一个脚本在单击按钮时使用 data-id 显示模式,如下所示。

        $('button.btnDelete').on('click', function (e) {
            e.preventDefault();
            var id = $(this).closest('tr').data('id');
            $('#myModal').data('id', id).modal('show');
            $('#modaltitle').text('User ID: ' + id);    
        });

但是,问题是:当我使用 jQuery append 到表时,该行会显示并正确添加到数据库中,但删除按钮不会调出删除该行的模式。只有刷新页面时才会删除。

从源代码来看, append 行的代码对我来说看起来没问题。

最后,这是 append 行的源代码。

        $('#btnAdd').click(function () {
            var user = $('#user').text();
            var newuser = $('#txtUserAdd').val().toLowerCase();
            var dataString = 'user='+ user.toLowerCase() + '&user2=' + newuser;
           $.ajax({
           type: "POST",
           url: "../adduser.php",
           data: dataString,
           cache: false,
           success: function(result){
           console.log(result);
           $('#userlist tr:last').after("<tr class='btnDelete' data-id="+ newuser + "><td>ID</td><td>" +newuser+ "</td><td><span class='label label-success'>Active</span></td><td><button class='btn btn-danger btnDelete btn-xs' href=''>delete</button></td></tr>");
            }
            });
        });

非常感谢您的帮助,如果您需要更多信息,请告诉我。

最佳答案

将按钮事件更改为:

$("#datatable").on("click", "button", function(event){
            event.preventDefault();
            var id = $(this).closest('tr').data('id');
            $('#myModal').data('id', id).modal('show');
            $('#modaltitle').text('User ID: ' + id);    
        });

地点:

<tbody id="datatable">

关于javascript - jQuery [button.class] 未检测到添加带有按钮的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29475461/

相关文章:

javascript - ng-repeat 中的 Angularjs 分页

javascript - 将 `with` 语句与代理一起使用是一种不好的做法吗?

javascript - Webpack不同的安装命令

php - 将条形码 ID 作为输入传递给 HTML 表单

javascript - PHP/Javascript 无法正确上下移动文件夹

javascript - 可能未处理的 promise 拒绝(id : 0) React Native

php - 如何在 MySQL 数据库中查找前 5 个重复条目?

jQuery CORS 内容类型选项

jquery - 模拟点击 &lt;input type =“file”/> jQuery、Opera

javascript - jQuery/Javascript 与 Galleria 冲突