我希望能够从表中删除用户,然后隐藏显示它们的div。
用户点击类.buddy_delete
的按钮,其中包含要传递给删除它们的php文件的信息。
我有以下工作正常,但我需要AJAX响应中的$(this).parent().hide();
而不是AJAX之前的任何错误,这可能吗?
$('.buddy_delete').on('click', function(e) {
e.preventDefault();
var sei = $(this).attr('sei');
var sui = $(this).attr('sui');
$(this).parent().hide(); // ok here
$.ajax({
type: "POST",
url: '/ajax/actions/remove_user_from_list.php?sei=' + sei + '&sui=' + sui,
success: function (data) {
if(data==='ok'){
// $(this).parent().hide(); // doesn't work here, nothing happens
} else {
$('#errorBoxEvent').html('Houston, we have a problem!');
}
}
}); // End .ajax function
});
答案 0 :(得分:1)
设置ajax方法的选项上下文:
$.ajax({
context: this,
//...
});
答案 1 :(得分:1)
为什么不使用闭包捕获$(this):
$('.buddy_delete').on('click', function(e) {
e.preventDefault();
var sei = $(this).attr('sei');
var sui = $(this).attr('sui');
var $that = $(this); //capture this
$(this).parent().hide(); // ok here
$.ajax({
type: "POST",
url: '/ajax/actions/remove_user_from_list.php?sei=' + sei + '&sui=' + sui,
success: function (data) {
if(data==='ok'){
$that.parent().hide(); //use here
} else {
$('#errorBoxEvent').html('Houston, we have a problem!');
}
}
}); // End .ajax function
});