我正在我正在创建的页面中实现“快速删除”功能。它的工作方式是这样的:
1:单击要删除的记录的表行中的“删除”按钮。
2:页面向ajax页面发送请求并返回“yes”的成功消息或“no”的失败消息。
我的问题是,如果我收到“是”的成功消息,我想隐藏该记录的行。我有问题使用JQuery“查找”行。
这是我的jquery代码:
$(document).ready(function(){
$(".pane .btn-delete").click(function(){
var element = $(this);
var del_id = element.attr("id");
var dataString = 'action=del&cid=' + del_id;
if(confirm("Are you sure you want to delete this content block?"))
{
$("#msgbox").addClass('ajaxmsg').text('Checking permissions....').fadeIn(1000);
$.ajax({
type: "get",
url: "ajax/admArticles_ajax.php",
data: dataString,
success: function(data){
switch(data)
{
case "yes":
$("#msgbox").addClass('ajaxmsg').text('Deleting content block....').fadeIn(1000);
$(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow")
break
case "no":
$("#msgbox").removeClass().addClass('error').text('You do not have the correct permissions to delete this content....').fadeIn(1000);
break
default:
};
}
});
}
return false;
});
});
这是我用来隐藏行的代码行,但它不起作用,因为我认为$(this).parents(“。pane”)找不到该元素。
$(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow")
非常感谢任何帮助。感谢...
答案 0 :(得分:3)
在Ajax回调中,this
不会引用处理事件的元素。
但是,您已经在名为element
的事件处理程序中引用了它。只是做:
element.parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow")
答案 1 :(得分:0)
我不确定,但我相当确定opacity
是0到1的数值。
因此,您应该将您的行更改为.animate({ opacity: "0" }...