2009-10-01 3 views
0

У меня есть веб-интерфейс выбора: пара элементов выбора с парой кнопок (стрелка с указателем слева и стрелка вправо) между ними. Пользователи могут перемещать элементы между двумя столбцами, например, выбрав один из параметров в левом столбце и нажав стрелку с правой стрелкой.Перетаскивание копии всех выбранных элементов из окна выбора - возможно?

Теперь у меня есть вопрос с расширением: кто-то хочет перетаскивать элементы между двумя столбцами, а не нажимать кнопку. Проблема с моей начальной установкой с двумя выборами заключается в том, что, как только я нажму на одну из выделенных опций, чтобы начать перетаскивание, все остальные выбранные параметры не будут выбраны. Используя jQuery, я привязал обработчики событий mousedown как к полям выбора, так и к каждому отдельному элементу, который просто вызывает функцию preventDefault() для объекта события, но этого недостаточно. В Firefox 3 опция «щелчок» сразу же теряет фокус, но все остальные параметры все еще сняты, а на IE6 (к которому, к сожалению, мне все равно придется поддерживать) это не имеет никакого значения.

Таким образом, я думал, что могу создать разумный факсимильный код окна выбора, используя элементы списка или div или что-то в этом роде. Я могу создать что-то разумное, что работает на Firefox, но на IE6, если я сменю щелчок на элементе моего псевдоизбираемого объекта (чтобы выбрать диапазон опций), IE выбирает весь текст между тем, где я нажмите и последнее место, которое я нажал. Опять же, я привязал функции preventDefault-ing mousedown, mouseup и click для всех задействованных элементов, но это не помогает.

Я даже попытался наложить прозрачные divs как на мои исходные поля выбора, так и на мои псевдовыборные объекты, думая перехватить щелчки мыши и управлять выборами вручную, но я не могу заставить его работать над IE. Если я использую поле выбора, я не могу запретить кликам изменять выбор, и если я использую текст, который просто выглядит как элемент выбора, я не могу помешать ему выбрать диапазон текста при щелчке по смену.

Есть ли общее решение, или мне просто не повезло?

ответ

0

Я в конечном итоге происхожу с "невыбираемым" атрибутом.

0

Отъезд Jquery UI Сортируемое с двумя соединенными сортируемыми списками: http://jqueryui.com/demos/sortable/#connect-lists

Это просто:

$('.selector').sortable({ connectWith: '.otherlist' }); 
+0

Спасибо за указатель! Это не совсем то, что мне нужно, так как я должен иметь возможность разрешать пользователям выбирать несколько параметров (потенциально сотни) и перемещать их все сразу, но, выталкивая источник страницы, я заметил, что атрибут HTML «невыбираемый», который я бы никогда не слышал раньше. Это MS-only и исключает возможность выбора текста, что может быть просто причиной того, что мой псевдовыборный объект корректно работает в IE. – Sean

+0

У меня был отсортированный список и пустой сортируемый список с перетаскиванием пользователей, где можно заполнить пустой список элементами из другого списка. Может быть, этот пользовательский интерфейс помогает? – powtac

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