2012-08-15 63 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"); 
});