2012-08-15 35 views
1

我有一个数据表设置(http://datatables.net/),我想要从表中删除一行的选项,并有一个jQuery对话框模式弹出确认。但是,模式在表格的第一页上正常工作,但是当表格转到第二页时,模式停止工作。我的猜测是当表格分页到接下来的10个条目时,会发生一些消除对话单击呼叫的事情。Datatables和Modals

这里是我的模态代码:

$('#delete-dialog').dialog({ 
     autoOpen: false, 
     width: 400, 
     modal: true 
    }); 

    $('.delete_modal').click(function (e) { 
     e.preventDefault(); 
     var targetUrl = $(this).attr("href"); 
     $('#delete-dialog').dialog({ 
      buttons: { 
      "Delete": function() { 
       window.location.href = targetUrl; 
      }, 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
      } 
     }); 
     $('#delete-dialog').dialog("open"); 
    }); 

,这里是我的模态代码:

<div id="delete-dialog" title="Remove User"> 
    <p>Are you sure you want to delete this user?</p> 
</div> 

任何想法,为什么它的工作表的第一页上,但不第二?

这里是我的删除代码:

<li><a href="?page=users&sub=admins&action=delete&id=<?=$row['id']?>" class="delete_modal"><span class="icos-trash"></span>Delete</a></li> 

回答

4

我的猜测是,你装的是尚未绑定使用jQuery新的元素。您可以绑定新的元素或将处理程序附加到您的.delete_modal类中。

$("body").on("click", ".delete_modal", function (e) { 
e.preventDefault(); 
     var targetUrl = $(this).attr("href"); 
     $('#delete-dialog').dialog({ 
      buttons: { 
      "Delete": function() { 
       window.location.href = targetUrl; 
      }, 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
      } 
     }); 
     $('#delete-dialog').dialog("open"); 
});