0

ユーザーが画像をアップロードするページがあります。各画像には削除ボタンが割り当てられています。画像の下にある削除ボタンをクリックすると、その特定の削除ボタンが消え、ajaxリクエストの読み込み中にgif画像が読み込まれ、更新が完了するとgif画像が消える方法を実装しようとしています。これが試みていることですが、機能していません。

$(function(){
    $('.delete-img-btn').live('click', function() {
        //asign the image id from the button attribute 'img-id'
        var id= $(this).attr('img-id');
        //The data to be send via ajax the server will recieve 2 POST variables ie. 'action' and 'id'(which is the img id)
        var data={
            'action':'/admin/image-uploader/',
                'pk':id,
           'success':refreshUploadedImages
        };

        $('.inner').empty();
        $('.inner').append('<img src="{{ MEDIA_URL }}admin/img/admin/ajax-loader.gif" id="spinner">');
        //inherit parent element (our delete button)
        $(this).ajaxStart(function() {
            $('#spinner').show();
        }).ajaxStop(function() {
            $('#spinner').hide();
        });
        $.post("/admin/image-uploader/delete/"+id ,function(data){
            refreshUploadedImages()
        });
    });
});
4

1 に答える 1

0

あなたは必要ajaxStartありませんajaxStop...前にスピナー$.postを表示し、$.post完了後に非表示にします(コールバック関数)。

$('.inner').empty();
$('.inner').append('<img src="{{ MEDIA_URL }}admin/img/admin/ajax-loader.gif" id="spinner">');  //show here
$.post("/admin/image-uploader/delete/"+id ,function(data){
    $('#spinner').hide();  //hide here
    refreshUploadedImages()
});
于 2013-03-06T07:44:32.203 に答える