2012-08-04 54 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