我正在爲我創建的頁面實現「快速刪除」功能。它的工作方式是這樣的: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