Как сделать перетаскиваемую привязку к сбросу, разрешить обмен? - PullRequest
2 голосов
/ 29 декабря 2011

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

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

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

Пока у меня есть это: http://jsfiddle.net/7xFsr/13/

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

1 Ответ

5 голосов
/ 29 декабря 2011

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

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

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

Вид извилистый, но я решил, используя тот же jsfiddle: http://jsfiddle.net/7xFsr/35/

Надеюсь, это кому-нибудь поможет!

...