У меня есть контейнер с различными draggable -элементами, и есть список некоторых "целевых" div, где пользователь может отбрасывать перетаскиваемые элементы.
Пример: представьте, у вас есть список "тегов""(Дом, Компьютер, Автомобиль, ..) и список некоторых документов в качестве цели (все документы являются частью div <div id="doclist">
).Поэтому цель состоит в том, чтобы назначить «теги» документу с помощью перетаскивания.Кстати, у каждого тега Div есть уникальный идентификатор (<div id="e34a568b2">
)
Код для перетаскивания «тегов»:
$('#taglist').find('div').draggable(
{helper: "clone"});
Код для создания документов «сбрасываемым»:
$('#doclist').droppable({
drop: function( event, ui )
{tag=ui.draggable;
tag.clone().appendTo( this );
} });
До сих пор это работало хорошо.Проблема в том, что прямо сейчас вы можете присвоить один и тот же тег несколько раз одним и тем же документам.Пример: документ 1 может получить тег «Дом» 5 раз, тег «Компьютер» 3 раза.
Моя цель - чтобы каждый документ мог иметь каждый тег только один раз.
Я не знаю, как решить эту проблему.Сейчас есть несколько способов:
1.) Расширить функцию «drop», пройдя через DOM $ (this) .find ..., чтобы увидеть, есть ли элемент с таким жеid - в этом случае не клонируйте и не добавляйте снова.Вероятно, это требует большой производительности.
2.) Используйте функцию перетаскивания перетаскиваемого виджета.Но я не знаю, как использовать это в этой ситуации.
Спасибо за любую помощь.