簡體   English   中英

ajax從成功視圖中刪除div

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM