JQuery ajax成功帮助

时间:2010-04-30 00:04:31

标签: jquery

我正在我正在创建的页面中实现“快速删除”功能。它的工作方式是这样的:

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")

非常感谢任何帮助。感谢...

2 个答案:

答案 0 :(得分:3)

在Ajax回调中,this不会引用处理事件的元素。

但是,您已经在名为element的事件处理程序中引用了它。只是做:

element.parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
                    .animate({ opacity: "hide" }, "slow")

答案 1 :(得分:0)

我不确定,但我相当确定opacity是0到1的数值。

因此,您应该将您的行更改为.animate({ opacity: "0" }...