0

我有一些关于数据表分页的问题。第一页 ajax 工作,但当第二页 ajax 不工作:( 这是我的示例代码

这是我的数据表脚本

    $(document).ready(function () {
    $('#my-table2').dataTable({
    "sPaginationType": "full_numbers",
    "aaSorting": [[ 0, "asc" ]],
         bSort: false,
     }); 
   }); 

然后是 AJAX 代码

      $(document).ready(function() {  

 $(".remove_edot").click(function(){         
     e.preventDefault(); 

     var href = $(this).attr("href");
     var btn = this;     

    if (confirm('Are you sure you want to delete this?')) {
        $.ajax({
          type: "GET",
          url: href,
          dataType: 'json',          
          success: function(response) {
          if (response.status === "success"){           
             $(btn).closest('tr').fadeOut("slow");                           
          }
          else{
            alert("Error");
          }
       }
    });   
    return false;
        }
 });

});

请帮忙

4

1 回答 1

2

您需要将事件处理委托给父级。

$('#my-table2').on('click', '.remove_edot', function(e){
  // Your code here
});

这是因为当数据表创建第二个(和后续)页面时,它会从 DOM 中删除表行并添加新行。.remove_edot您的原始代码仅在运行时在 DOM 中的任何元素上绑定事件侦听器。

.on()仅在 jQuery 1.7+ 中可用,因此如果您使用的是较低版本,请使用.delegate()- 它具有相同的参数。

于 2013-11-05T04:04:38.117 回答