首页 > 解决方案 > jquery如何在单击确认按钮时删除弹出父项?

问题描述

我正在尝试发送ajax请求并在成功后删除popover的父级请求成功但我无法访问popover的父级以将其删除,这是问题的根源

// delete work form portfolio
    $(document).on("click", "#delete-work", function(){
        var id_val= $(this).attr("data-id");
        $.ajax({
            url: "ajax/portfoliojx.php",
            type: "POST",
            data: {
                name        : "delete_work",
                id          : id_val,

            },
            dataType: "JSON"
        }).done(function(data){
            // check if responed email error
            $(this).parents(".work").remove();
        });
    })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="work">
<div class="col-md-3">
<div class="thumbnail">
<a href="">
<img src="uploads/portfolio/251442-7.jpg" title="hello" alt="hello">
</a>
<div class="caption">
<a href=""><h4 class="tite">hello</h4></a>
</div>
<hr>
<a href="?do=edit&amp;id=23" class="btn btn-default">edit <i class="fa fa-edit"></i></a>

<a tabindex="0" class="btn btn-danger pull-left" role="button" data-toggle="popover" data-trigger="focus" data-placement="top" title="" data-content="<button class='btn btn-defualt'>no</button><span class='pull-left'><button id= 'delete-work' data-id= '23' class='btn btn-danger'>yah</button></span>" data-original-title="are you sure from this ?"> delete <i class="fa fa-trash"></i></a>
</div>
</div>
</div>

标签: javascripthtmljquery

解决方案


在 Ajax 回调中,范围应该是 Ajax,所以这不起作用。以下代码适用于您的情况

$(document).on("click", "#delete-work", function(){
        var _self = this;
        var id_val= $(this).attr("data-id");
        $.ajax({
            url: "ajax/portfoliojx.php",
            type: "POST",
            data: {
                name        : "delete_work",
                id          : id_val,

            },
            dataType: "JSON"
        }).done(function(data){
            // check if responed email error
            $(_self).parents(".work").remove();
        });
    })

推荐阅读