Javascript 删除成功时是否从表中删除行?

Javascript 删除成功时是否从表中删除行?,javascript,jquery,ajax,knockout.js,Javascript,Jquery,Ajax,Knockout.js,我想从表中删除已删除的行,但该行对我无效。我尝试了以下代码: 场景:当用户单击delete链接/按钮时,它会发送一个删除请求并从数据库中删除数据,因此它应该更新表前端视图,并在成功时删除单击的已删除行 // Delete remedy which is linked with a Symptom ( Symptoms Table ) $("a.remedy-row-delete").click(function(e) { e.preventDefault();

我想从表中删除已删除的行,但该行对我无效。我尝试了以下代码:

场景:当用户单击delete链接/按钮时,它会发送一个删除请求并从数据库中删除数据,因此它应该更新表前端视图,并在成功时删除单击的已删除行

// Delete remedy which is linked with a Symptom ( Symptoms Table )
    $("a.remedy-row-delete").click(function(e) {
        e.preventDefault();

        var remedy_id = $(this).attr('data-id');
        var dataString = '&id='+remedy_id;

        $.SmartMessageBox({
            title: "Delete Remedy",
            content: "Remedy Entry will be deleted, are you sure ?",
            buttons: "[YES][NO]"
        }, function (ButtonPress) {
            if (ButtonPress === "YES"){
                $.ajax({
                    type: 'POST',
                    data: dataString,
                    url: '<?php echo $this->CxHelper->Route('eb-admin-delete-linked-remedy-from-symptom') ?>',
                    success: function(data) {
                        $("#deleteMessage").show().delay(5000).fadeOut();
                        $(this).closest('tr').remove();
                    }
                });
            }
            else {
                $("a.remedy-row-delete").removeClass('alert');
            }
        });
    });
谢谢

,因为
$(这)
ajax函数的内部与外部不同,您应该这样做

$("a.remedy-row-delete").click(function(e) {
    e.preventDefault();

    var remedy_id = $(this).attr('data-id');
    var dataString = '&id='+remedy_id;
    var $this = $(this) // <--- 1. Add this line

    $.SmartMessageBox({
        ...
    }, function (ButtonPress) {
        if (ButtonPress === "YES"){
            $.ajax({
                ...
                success: function(data) {
                    ...
                    $this.closest('tr').remove(); // <----change this and will works well
                }
            });
        }
        else {
            $("a.remedy-row-delete").removeClass('alert');
        }
    });
});
$(“a.rememy-row-delete”)。单击(函数(e){
e、 预防默认值();
var rememy_id=$(this.attr('data-id');
var dataString='&id='+replex_id;
var$this=$(this)//因为
$(this)
ajax
函数的内部与外部不同,您应该这样做

$("a.remedy-row-delete").click(function(e) {
    e.preventDefault();

    var remedy_id = $(this).attr('data-id');
    var dataString = '&id='+remedy_id;
    var $this = $(this) // <--- 1. Add this line

    $.SmartMessageBox({
        ...
    }, function (ButtonPress) {
        if (ButtonPress === "YES"){
            $.ajax({
                ...
                success: function(data) {
                    ...
                    $this.closest('tr').remove(); // <----change this and will works well
                }
            });
        }
        else {
            $("a.remedy-row-delete").removeClass('alert');
        }
    });
});
$(“a.rememy-row-delete”)。单击(函数(e){
e、 预防默认值();
var rememy_id=$(this.attr('data-id');
var dataString='&id='+replex_id;
var$this=$(this)//试试这个

//删除与症状链接的补救措施(症状表)
$(“a.remedy-row-delete”)。单击(函数(e){
e、 预防默认值();
var rememy_id=$(this.attr('data-id');
var dataString='&id='+replex_id;
var self=这个;
$.SmartMessageBox({
标题:“删除补救措施”,
内容:“补救条目将被删除,您确定吗?”,
按钮:“[是][否]”
},功能(按按钮){
如果(按钮按==“是”){
$.ajax({
键入:“POST”,
数据:dataString,
url:“”,
成功:功能(数据){
$(“#删除消息”).show().delay(5000.fadeOut();
$(self).closest('tr').remove();
}
});
}
否则{
$(“a.rememy-row-delete”).removeClass('alert');
}
});
})试试这个

//删除与症状链接的补救措施(症状表)
$(“a.remedy-row-delete”)。单击(函数(e){
e、 预防默认值();
var rememy_id=$(this.attr('data-id');
var dataString='&id='+replex_id;
var self=这个;
$.SmartMessageBox({
标题:“删除补救措施”,
内容:“补救条目将被删除,您确定吗?”,
按钮:“[是][否]”
},功能(按按钮){
如果(按钮按==“是”){
$.ajax({
键入:“POST”,
数据:dataString,
url:“”,
成功:功能(数据){
$(“#删除消息”).show().delay(5000.fadeOut();
$(self).closest('tr').remove();
}
});
}
否则{
$(“a.rememy-row-delete”).removeClass('alert');
}
});

});
它现在起作用了。实际上我瞄准了错误的视图/表!@Imaduddin祝你好运;)它现在起作用了。实际上我瞄准了错误的视图/表!@Imaduddin祝你好运;)