2

Я не уверен, как это задавать, но я ищу для создания интерфейса, где три элемента существуют слева (A, B, C) и могут быть перетащены на три элемента справа (1, 2, 3).Как сделать перетаскиваемую привязку к droppable, разрешить обмен?

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

Я могу получить A, B и C для привязки к правой стороне, но, похоже, не может заставить их быть обмененными. Если я установил ui.draggable.position на падение, то я не могу понять, как изменить их справа. Я пробовал клонирование и удалял их безрезультатно, в итоге я получил некоторую ошибку.

меня это до сих пор: http://jsfiddle.net/7xFsr/13/

Заранее спасибо!

ответ

5

Я знаю, что у меня есть конкретная проблема, но вот мое решение. Наконец выяснилось, как манипулировать функцией jQuery UI position().

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

На капле, у меня был способ пройти через массив и выяснить, нет ли чего-то в этом положении. Если нет, не проблема. Если это так, вернитесь в массив и найдите текущий элемент, который нужно сбросить, и получите его предыдущий контейнер. Выберите тот, который уже существует, и измените его положение на предыдущую позицию текущего и поместите текущий в пустую позицию.

Вид запутанных, но я работал его, используя то же jsfiddle: http://jsfiddle.net/7xFsr/35/

Надеется, что это помогает кто-то!

+0

Это очень хороший образец кода. Спасибо, что поделились ею (+1) :) – Boro

+0

Действительно, искал что-то подобное в течение некоторого времени! Отличная работа – Francois

Смежные вопросы