1

我需要帮助使用 jQuery 删除选定的表行。

<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>

当我单击 DELETE 链接时,文件会通过 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
});

我尝试删除此特定行给我带来了问题,因为我似乎无法使用“this”找到它。

感谢任何想法。

4

1 回答 1

0

默认情况下,在success处理程序中,this绑定到$.ajaxSettings您传递给$.ajax().

您可以指定context绑定this到您选择的对象的选项,包括this在调用者中绑定的值。从那里,您只需要最接近()来找到要删除的表格行:

$.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();
        }
    }
});
于 2012-08-04T15:18:42.950 回答