Как убрать элемент внутри droppable, чтобы вставить больше новых элементов - jQuery - PullRequest
0 голосов
/ 27 июня 2011

Я сделал небольшую систему тарифов с jQuery, где пользователь может перетаскивать числа в другой элемент.Я хочу, чтобы пользователь мог перетаскивать новый номер, но затем удалить номер (элемент), который пользователь отбросил раньше.

Сейчас я просто отключаю опускание, но это, очевидно, останавливает функцию

$('#rate1, #rate2, #rate3, #rate4, #rate5').droppable({
                    accept: ('#drag_rate1, #drag_rate2, #drag_rate3, #drag_rate4, #drag_rate5'),
                    drop: function(ev, ui) { 
                        var numero = ui.draggable.html();
                        //var dedoid = ui.draggable.attr('id');
                        var bkg = ui.draggable.css('background-image');
                        var html = '<div class=\'number_dropped\' style=\'background-image: '+bkg+'\'>'+numero+'</div>';
                        $(this).append(html).hide().fadeIn('slow');
                        $(this).droppable('disable');
                    }
                });

1 Ответ

0 голосов
/ 27 июня 2011

Удалите ранее удаленные объекты с помощью этой строки:

$(this).find(".dedo_dropped").remove();

Таким образом, ваш код будет:

$('#rate1, #rate2, #rate3, #rate4, #rate5').droppable({
    accept: ('#dedo_up, #dedo_down'),
    drop: function(ev, ui) { 
        $(this).find(".dedo_dropped").remove();
        var dedo = ui.draggable.html();
        var bkg = ui.draggable.css('background-image');
        var html = '<div class=\'dedo_dropped\' style=\'background-image: '+bkg+'\'>'+dedo+'</div>';
        $('#dedo_pick').append(html).hide().fadeIn('slow');
        $(this).droppable('disable');
    }
});
...