2015-07-22 3 views
1

Я использую перетаскиваемым на <div class="items" проведение этих элементовНесколько дивы, как найти изображение и удалить родительские дивы

<div class="item"> 
    <div class="thumb"> 
     <img id="image" src="source.png" /> 
    </div> 
    <div class="description"> 
     <p>Some description here</p> 
    </div> 
</div> 

Сейчас на Droppable, я хочу только, чтобы сохранить образ этого дел. Я попытался с помощью следующего кода, но не похож на работу ...

$("#dropbar").droppable({ 
    accept: ".deal-itinerary-item .row", 
    hoverClass: correct_placeholder, 
    activeClass: active_placeholder, 
    revert: false, 
    tolerance: "pointer", 

    drop: function (event, ui) { 
     var dragging = ui.draggable.clone().find("img").remove(); 
     $(this).append(dragging).addClass("dropped"); 
    } 
}); 

Мысли это было бы найти img и удалить что-нибудь еще из перетаскиваемых.

Что я делаю неправильно и как я могу это решить?

Спасибо!

+0

Тот же результат, все родительские div также продолжают клонироваться. –

+0

вы можете создать 'скрипку'? –

ответ

1

Вы удаляете img в вашем примере, потому что это то, что объект JQuery выбрал при вызове remove().

var image = ui.draggable.find("img").clone(); 
$(this).append(image).addClass("dropped"); 

Я не уверен, что вы пытаетесь удалить, если это оригинал перетаскиваемым или если вы просто клонировать слишком много все это. Но если вы хотите, чтобы удалить исходный Draggable:

var image = ui.draggable.find("img").clone(); 
$(this).append(image).addClass("dropped"); 
ui.draggable.remove(); 

вероятно работы.

0

Вы можете просто получить клонирование вместо img вместо права.

drop: function (event, ui) { 
    var dragging = ui.draggable.find("img").clone(); 
    $(this).append(dragging).addClass("dropped"); 
} 
Смежные вопросы