[英]ajax delete div from view on success
我有一個Ajax圖片上傳器,當前正在嘗試為其創建一個刪除鏈接,我有一個刪除腳本,但是成功后,我希望它也刪除div
並替換為“ Image Deleted”文本,但是我有點對於如何刪除id
始終不同(從var設置)的div
感到困惑。
$(function(){
$(document).on('click','.trash',function(){
var image_id= $(this).attr('id');
$.ajax({
type:'POST',
url:'/includes/delete_image.php',
data:{'image_id':image_id},
success: function(data){
if(data=="YES"){
$('#image_id').remove()
}else{
alert("can't delete the row")
}
}
});
});
});
那是代碼,所以在data=="YES"
我想要這樣:
<div id="image_id">
<img src=\"/uploads/articles/article_images/image_name" class='imgList'><br />
BBCode: <input type="text" class="form-control" value="[img]http://www.prxa.info/uploads/articles/article_images/{$image_name}[/img]\" /><br />";
<a href="#" id="image_id" class="trash">Delete Image</a>
</div>
要刪除,其中"image_id"
將是在ajax代碼中設置為"image_id"
的數字,是否有指針? 我現在做錯了,非常糟糕。
當然,“ image_id”每次都不同。
您有1個以上具有相同ID的元素,因此要獲取div,您可以嘗試:
$("div[id='image_id']").remove();
您是否嘗試過更改此設置:
$('#image_id').remove();
對此:
$('#'+image_id).remove();
看來您有image_id作為變量。 因此,您應該可以在成功回調中使用。
$('#'+image_id).html('image was deleted successfully...');
您可以指定ID的不同前綴,例如
'div_' + image_id and 'img_' + image_id
假設HTML div在重復,您將不希望它們都具有相同的ID。 將其更改為一類圖像,或其他對您的CSS有意義的圖像。
您可以通過兩種方式執行此操作。 在div上設置數據屬性,或使用父級jquery函數獲取您單擊的鏈接的父級div。
設置數據屬性可能被認為是更好的做法。 添加屬性data-image-id,然后可以基於該屬性的值選擇div,然后將其刪除。
<div data-image-id="[your image id]">
然后,您可以根據jquery文檔中所述的屬性選擇div
用這個
$("#"+image_id).remove();
代替
$('#image_id').remove();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.