javascript - 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&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>
解决方案
在 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();
});
})
推荐阅读
- javascript - 如何返回回调node.js?
- android - 将格子 UI 添加到 Xamarin Forms 跨平台移动应用程序(iOS、Android)
- php - MODX 中的 PDO 无缓冲查询
- python - 在 Python 中从文本文件中删除重复的反向字符串
- java - 对扫描器类的输入使用比较运算符
- iphone - 如何忘记 iPhone 11 上的旧 Outlook 电子邮件
- javascript - 如何使用下划线对这个哈希数组进行排序和过滤
- caching - 如何防止litespeed在woocommerce中缓存价格和数量?
- angular - ngx 翻译服务空白页
- c - C程序运行时冻结