В настоящее время у нас есть форма со стандартной функцией множественного выбора: «Вот доступные опции, вот выбранные опции, вот некоторые кнопки для перемещения материала назад и вперед». Однако теперь клиент хочет иметь возможность не только выбирать определенные элементы, но и классифицировать их. Например, учитывая список книг, они хотят не только выбрать те, которые им принадлежат, но и те, которые они прочитали, те, которые они хотели бы прочитать, и те, о которых они слышали. (Все примеры вымышлены.) К счастью, выбранный элемент может быть только в одной категории за один раз.
Я могу найти много примеров перемещения элементов между списками, но ни одного примера для перемещения элементов между несколькими списками. Чтобы добавить усложнение, форма должна иметь два набора списков + категории, например, список фильмов, которые должны быть классифицированы в дополнение к вышеупомянутым книгам.
РЕДАКТИРОВАТЬ: Теперь, когда я фактически сел, чтобы попытаться закодировать не-javascripty биты, мне нужно пересмотреть мой вопрос, потому что я понял, что множественные списки выбора не будут работать из "как мне сообщить серверу обо всех эта прекрасная новая информационная "точка зрения. Таким образом, html-код теперь является псевдо-списком, то есть неупорядоченный список (<ul>
), отображаемый в поле с полосой прокрутки, и каждый элемент списка (<li>
) имеет набор из пяти переключателей (невыбранный / собственный / читаемый) /like/heard).
Моя задача по-прежнему примерно такая же: как взять этот один список и упростить классификацию элементов таким образом, чтобы пользователь мог сразу увидеть, что находится в какой категории. (У псевдо-списка есть некоторые из тех же недостатков, что и у списка с множественным выбором, а именно, трудно сказать, что выбрано, если список достаточно длинный для прокрутки.) Решение сновидения было бы перетаскиванием типа, но в этот момент даже кнопки будут в порядке.
Другая модификация (хорошая) заключается в том, что клиент пересмотрел списки, поэтому самый длинный теперь составляет «всего» 62 элемента (вместо многих сотен, которые они имели раньше). Категории по-прежнему в основном будут содержать ноль, один или два выбранных элемента, возможно, еще пару, если пользователь был слишком усердным.
Что касается операционной системы и прочего, то сайт работает в классическом формате asp (перестаньте хихикать!), Код на стороне сервера - VBScript, и до сих пор мы избегали различных библиотек Javascript, просто избегая использования клиента. скрипты Эта форма для этого клиента в настоящее время является большим исключением. Дайте им дюйм, и они хотят милю ...
О, и я должен добавить: я сосу на Javascript, или действительно на любом языке C-потомка. Фигурные скобки дают мне ульи. Мне бы очень, очень хотелось что-то, что я мог бы просто скопировать и вставить на свою страницу, возможно изменить некоторые имена переменных и никогда больше не смотреть на это. Девушка может мечтать, не так ли? :)
[существующий код удален, потому что он по большей части не имеет значения.]