2011-11-16 94 views
0

我正在使用Datatables和一個表中有兩列第二列有一個文本鏈接與類.deletecomp單擊時ajax從數據庫中刪除條目,但我有麻煩刷新桌子。jquery綁定點擊事件類? datatables ajax從標記刪除行

我在// Test delete tr註釋下面添加了代碼,當我單擊表中的任何tr時,它將刪除該行並刷新表。 AJAX被激發並且db表中的條目被刪除。我怎樣才能改變這種功能與具有.deletecomp類我刪除文本鏈接工作

這是怎麼了初始化表

oTableVC = $('#viewcomp').dataTable({ 
     "sDom":'t<"bottom"filp><"clear">', 
     "bAutoWidth": false, 
     "sPaginationType": "full_numbers", 
      "aoColumns": [ 
      null, 
      null 
      ] 
    } 
    ); 
    //Test delete tr 
    $("#viewcomp tbody tr").live('click', function() { 
     oTableVC.fnDeleteRow(this); 
    }); 

}); 

這是刪除數據庫條目中的AJAX

$(".deletecomp").live('click', function(event){ 
    event.preventDefault(); 
    cidstring = $(this).attr("id"); 
    cidArr = cidstring.split("-"); 
    cid = cidArr[1]; 
    var url = 'http://domain.com/ajaxdeletecomp?format=json'; 

    $.post(url, { id: cid},function(ajaxdata) { 
     //deleting row from table 

     }); 
    }); 

回答

0

我以前沒有用過這個插件;然而根據您的代碼以下應該做的伎倆:

// Needs to be declared in the the JS Document outside of any functions // 
var oTableVC = $('#viewcomp').dataTable({ 
    "sDom":'t<"bottom"filp><"clear">', 
    "bAutoWidth": false, 
    "sPaginationType": "full_numbers", 
    "aoColumns": [ 
     null, 
     null 
     ] 
    } 
); 


$(".deletecomp").live('click', function(event){ 
    event.preventDefault(); 
    cidstring = $(this).attr("id"); 
    cidArr = cidstring.split("-"); 
    cid = cidArr[1]; 
    var url = 'http://domain.com/ajaxdeletecomp?format=json'; 
    var $target = $(this).closest('tr'); // Add Reference </tr> of Link 

    $.post(url, { id: cid},function(ajaxdata) { 
     //deleting row from table 
     oTableVC.fnDeleteRow($target); // Deletes Row 
    }); 
}); 

我希望這有助於!

+0

我們嘗試將fnDeleteRow函數放在那裏,但它並沒有觸發 – Anagio

+0

@Anagio oTableVC var最有可能超出範圍;看看我的編輯。確保如上添加var部分。 – dSquared

+0

我還沒有...我測試過fnClearTable();查看它是否放置在var url上方時觸發,並且在單擊刪除鏈接時清除表。我不明白爲什麼DeleteRow不起作用 – Anagio