2012-08-04 61 views
1

中刪除一個表格行我需要幫助刪除使用jQuery選定的表格行。從<tr>

<tr data-file='+file_id1+'> 
    <td width="40%">'+file_name1+'</td> 
    <td>'+upload_date1+'</td> 
    <td><a href="sym.php?doc_id='+file_id1+'" class="view2_fl">VIEW FILE</a> | <a href="javascript:void(0);" class="del2_fl">DELETE</a></td> 
</tr> 

當我點擊刪除鏈接的文件從DB通過AJAX如下刪除了: -

$('.addfile_popup').on('click', '.del2_fl', function(){ 
var job_id=$(this).data('job'); 
var file="file_id="+$(this).data('file')+"&job_id="+job_id; 
$.ajax({ 
    type:"POST", 
    url:"admin_includes/del_fl.php", 
    data:file, 

    success:function(html){ 
     if(html=="2") 
     { 
      //delete row 

     } 
    } 
})//end ajax 
}); 

我atempts刪除特定的行是造成我的問題,因爲我不似乎能夠使用'this'來找到它。

感謝您的任何想法。

回答

0

默認情況下,在success處理程序中,this綁定到一個mixin $.ajaxSettings以及您傳遞給$.ajax()的選項。

您可以指定context選項將this綁定到您選擇的對象,包括值this在調用方中綁定。從那裏,你只需要closest()定位錶行刪除:

$.ajax({ 
    type: "POST", 
    url: "admin_includes/del_fl.php", 
    data: file, 
    context: this, // Relay 'this' to 'success' handler. 
    success: function(html) { 
     if (html == "2") { 
      // Here, 'this' is the same as in the caller of '$.ajax()'. 
      $(this).closest("tr").remove(); 
     } 
    } 
}); 
+0

這樣做的工作,雖然我覺得我沒有說,在相同的形式,用戶必須添加文件的能力。如果用戶添加文件並決定刪除該文件,則該文件不會消失。如果要刪除的文件重複,則刪除所有文件。 (但是,這是我現在改變的mysql)。現在我面臨的主要問題是刪除附加文件(我以爲使用.on()會解決這個問題。 – Sideshow 2012-08-04 15:35:37

+0

這個問題不容易從你的評論中理解......我建議你通過更新你的問題來澄清這個問題與更多的信息(發佈附加文件的代碼也是一個好主意)。 – 2012-08-04 15:40:36