Javascript 弹出窗口不适用于下一页分页

标签 javascript php jquery pagination

我已经使用 PHP 和 Javascript 构建了一个类似数据 View 的项目。在我的页面上,它有一个使用分页的用户表。每行都有删除按钮。当我单击第一页上的该按钮时,它可以正常工作。当我单击下一页每一行的删除按钮时,弹出窗口似乎不再工作了。下面是我的代码:

用于运行弹出窗口的 Javascript:

$(".mb-control").on("click",function(){
        var box = $($(this).data("box"));
        if(box.length > 0){
            box.toggleClass("open");

            var sound = box.data("sound");

            if(sound === 'alert')
                playAudio('alert');

            if(sound === 'fail')
                playAudio('fail');

        }        
        return false;
    });
    $(".mb-control-close").on("click",function(){
       $(this).parents(".message-box").removeClass("open");
       return false;
    });    

用于删除按钮的 PHP 脚本中的 HTML(在 while 函数中 - $i 是每行唯一 ID 的变量)

<?php

echo "<td>
	
	<button class='btn btn-warning mb-control btn-sm' href='./function/liststaff.remove.php?remove=".$getdata['username']."' data-box='#message-box-warning".$i."'>Remove <i class='glyphicon glyphicon-remove-circle'></i></button></a>
																
	<div class='message-box message-box-warning animated fadeIn' id='message-box-warning".$i."'>
	<div class='mb-container'>
	<div class='mb-middle'>
	<div class='mb-title'><span class='fa fa-warning'></span> Warning</div>
	<div class='mb-content'>
	<p>Are you sure want to delete user  <strong>".$getdata['username']." </strong>?.</p>                  
	</div>
	<div class='mb-footer'>
	<div class='pull-right'>
	<a href='index.php?delete=".$getdata['id']."' class='btn btn-success btn-lg'>Yes</a>
	<button class='btn btn-default btn-lg mb-control-close'>No</button>
	</div>
	</div>
	</div>
	</div>
	</div>
																
	</td>";

?>

请帮忙。

最佳答案

尝试将点击事件绑定(bind)到动态创建的元素上,如下所示,对于 DOM 上不存在类名称 mb-control 的第二页按钮,因此该事件仅附加到现有元素。

希望对你有帮助。

 $("body").on("click",".mb-control-close",function(){
       $(this).parents(".message-box").removeClass("open");
       return false;
    });

$("body").on("click",".mb-control",function(){
        var box = $($(this).data("box"));
        if(box.length > 0){
            box.toggleClass("open");

            var sound = box.data("sound");

            if(sound === 'alert')
                playAudio('alert');

            if(sound === 'fail')
                playAudio('fail');

        }        
        return false;
    });

关于Javascript 弹出窗口不适用于下一页分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41712904/

相关文章:

javascript - D3 Sankey 图中链接的梯度

javascript - ts.createProgram 正在生成意外的输出

php - 更好质量的缩略图

php - 启用基本身份验证 Codeigniter rest API

php - 使用 PHP 为 Google Cloud Storage 的 JWT 签名 URL

c# - 无法使用 jquery ajax 调用 aspx 页面 Web 方法

javascript向导/助手插件

javascript - 如何从控制台日志读取以及如果错误包含字符串 "up-to-data"则通过 'if' 循环而不会出现错误

jquery - 如何在 datetimepicker 的日期范围内选择默认日期?

javascript - jquery SlideToggle 打开所有 div,而不仅仅是所需的 div