我有一个链接<a href="#">
,旁边有一个删除png图标(也是<a href="#">
链接。
所以我想要的是,当点击该删除图标时,链接<a href="#">
应该被删除并带有确认窗口。
到目前为止,我已经喜欢了 HTML:
<ul>
<li><a href="#">link</a> <a class="delete" href="#" data-request="POST" >....</a></li>
</ul>
我的data-request
var join_request = function(evnt){
evnt.preventDefault();
var $a = $(this);
var request = $a.data('request') || 'POST';
if (confirm("Are you sure want to delete it?")) {
$.ajax($a.attr('href'), {
type: request,
context: $a,
success: join_request_success
});
}
return false;
};
var join_request_success = function(data, a, b){
this.trigger('executed');
};
$(document).ready(function(){
$('a[data-request]').bind('click', join_request);
}
这似乎不起作用!当我点击删除图标时,它显示确认窗口但没有做任何事情。
有没有其他简单的方法来实现这一目标?如果没有,谁能告诉我哪里出错了?
感谢。
答案 0 :(得分:0)
var join_request = function(evnt){
evnt.preventDefault();
var $a = $(this);
var request = $a.data('request') || 'POST';
if (confirm("Are you sure want to delete it?")) {
$.ajax($a.attr('href'), {
type: request,
context: $a,
error: join_request_success
});
}
return false;
};
var join_request_success = function(data, a, b){
this.trigger('executed');
this.prev().remove();
};
$(document).ready(function(){
$('a[data-request]').bind('click', join_request);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li><a href="#">link</a> <a class="delete" href="#" data-request="POST" >....</a></li>
</ul>
请注意,我必须将success:
更改为error:
才能进行演示。