我正在为我创建的页面实现“快速删除”功能。它的工作方式是这样的:JQuery ajax成功帮助
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")
任何帮助将不胜感激。谢谢...
这不是不透明,给我的问题。它是$(this).parents(“。pane”)。它找不到要删除的核心行。如果我将上面的代码放在“switch”语句之外,它会正确隐藏正确的行。我不知道是否需要将该行传递给“成功”函数 – Jason 2010-04-30 00:19:12
如果将代码放在switch语句之外(大概仍在“成功”回调中)会导致该代码生效,那么似乎该交换机是问题。您是否验证过返回的“数据”的值? – user113716 2010-04-30 00:29:17
嗨帕特里克,是的数据返回字符串“是”。只是在switch语句中使用$(this).parents(“。pane”)没有找到正确的行。 如果我将代码更改为$(“。pane”),它将删除表中显示它正在工作的所有行。这是不正确的,但因为我只想删除一行。 – Jason 2010-04-30 00:33:46