2013-01-15 69 views
0

我試圖讓下面的代碼工作jQuery的bootbox對話框

//===== Dialogs =====// 
$(".table a.delete").click(function (e) { 
    e.preventDefault(); 
    bootbox.confirm("Are you sure?", function (confirmed) { 
     if (confirmed) { 
      var $el = $(this); 
      var $tr = $el.closest('tr'); 
      var url = $el.closest('table').data('remove-url'); 
      var id = $tr.data('id'); 

      $tr.fadeOut(function() { 
       $el.remove(); 
       $.post(url, { id: id }); // do the delete on the server 
      }); 
     } 
    }); 
}); 

的bootbox被顯示,但低於if(confirmed)犯規運行代碼。

回答

2

$(this)在匿名bootbox-method內並不是指你認爲它的作用。 if(已確認)中的代碼被執行但不匹配任何內容。

$(".table a.delete").click(function (e) { 
    var $el = $(this); 
    e.preventDefault(); 

    bootbox.confirm("Are you sure?", function (confirmed) { 
     if (confirmed) { 
      var $tr = $el.closest('tr'); 
      ... etc 
     } 
    }); 
}; 
+0

你讓我毆打了5秒:) –

+0

完美,thx! –