Php jQuery没有';t在辅助页(数据表)上工作

Php jQuery没有';t在辅助页(数据表)上工作,php,jquery,datatables,Php,Jquery,Datatables,我有一个简单的表(用DataTables创建),最后一列有两个按钮。这些按钮连接到jquery。接下来的问题是:如果我在表格的第一页,按下其中一个按钮,一切正常。若我在第二个/第三个/etc页面上按下相同的按钮,该功能将不再工作。。。你能解释一下为什么吗?这是我第一次遇到这个问题。谢谢大家! 按钮使用类调用jQuery,而不是Id(只是一点注释) 编辑: 这就是我的锚的样子: <a id="diploma-'.$user['user_id'].'" class="btn btn-sm bt

我有一个简单的表(用DataTables创建),最后一列有两个按钮。这些按钮连接到jquery。接下来的问题是:如果我在表格的第一页,按下其中一个按钮,一切正常。若我在第二个/第三个/etc页面上按下相同的按钮,该功能将不再工作。。。你能解释一下为什么吗?这是我第一次遇到这个问题。谢谢大家!

按钮使用类调用jQuery,而不是Id(只是一点注释)

编辑:

这就是我的锚的样子:

<a id="diploma-'.$user['user_id'].'" class="btn btn-sm btn-success generare_diploma" data-toggle="tooltip" title="Genereaza diploma !"><i class="fa fa-calendar-check-o"></i></a>


编辑:jQuery在运行时只知道页面中的元素,因此添加到DOM中的新元素无法被jQuery识别。为了解决这个问题,我们使用了从新添加的项到DOM中某个点的冒泡事件,当jQuery在页面加载上运行时,这个点就在DOM中。许多人使用
document
作为捕获冒泡事件的地方,但并不需要一直向上遍历DOM树。理想情况下,您可以使用。在初始化dom时,单击尚不在dom中的元素上的事件

因此,每次在DataTable中获得新行或添加带有.on的侦听器时,都必须初始化该函数(

自从最新的jQuery版本.on(事件发生了变化。现在,当您初始化函数时,您的主元素必须出现在DOM中,您可以在将使用DataTable生成的新元素上添加侦听器(例如,当您使用分页更改页面时)

因此,您的代码:
$('.generare_文凭')。单击(function(){
必须是:
$(文档|“正文”|选择器)。在('click','generare_文凭',function(){


但是,如果您必须多次初始化,通常最好在.on之前使用.off(比如:
$(document |“body”| selector).off('click','.generare_diplication')。on('click','.generare_diplication',function(){

您能发布jquery代码吗?我编辑了第一篇文章。它可以工作:)谢谢。我会在1分钟内接受这个问题作为答案(stackoverflow要求的时间)很好:)如果你必须在datatable这样的表上做,请使用比“普通”jquery事件更多的东西。看这里:做或不做。没有“我想”。一个好的答案总是会解释所做的事情以及为什么这样做,不仅是为了OP,而且是为了未来的访客。
<a id="diploma-'.$user['user_id'].'" class="btn btn-sm btn-success generare_diploma" data-toggle="tooltip" title="Genereaza diploma !"><i class="fa fa-calendar-check-o"></i></a>
$(document).on('click', '.generare_diploma',function(){            
                var user_id = $(this).attr('id').split('-');
                if(user_id[1] != ''){
                    $.ajax ({
                        url: "./genereaza.php",
                        type: "POST",
                        data: {user_id:user_id[1],todo:'generare_diploma_admin'},
                        cache: false,
                        success: function(){
                            $('#diploma-'+user_id[1]).attr('onclick',location.href = './genereaza.php?user_id='+user_id[1]+'&todo=download_diploma_admin');
                        },
                        error: function(xhr, status, error) {
                            var err = eval("(" + xhr.responseText + ")");
                            alert(err.Message);
                        }
                    });
                }
            });