Xpoint
   [напомнить пароль]

Выбор нескольких компонентов из списка

Метки: usability, список
[арх]
2002-02-01 15:30:17 [обр] Сергей Сирик(0/737)[досье]

Задача: есть список неких элементов (например стран), пользователь должен выбрать несколько элементов из этого списка, выбор запоминается в БД. До этого момента все просто - select mutliply, выделил, обработал - опаньки. А вот как редактировать такой выбор? Поставить выделение на выбранные страны при выводе списка на редактирование как бы и не проблема ... но при первом же клике, если не нажать Ctrl или Shift все выделение слетает нафиг :(((

Собственно вопрос - как бы более юзабельно организовать редактирование такого списка?? Для полного счастья хотелось бы, чтобы первоначальная установка и редактирвоание были одинаковы по интерфейсу ...

спустя 22 минуты [обр] Дмитрий Юров(1/411)[досье]

Выдавать отдельно простым текстом список выбранных элементов с чек-боксами, типа
"Вы выбрали:
 - [x] бла
 - [ ] бла-бла
 - [ ] бла-бла-бла
 - [x] бла-бла-бла
"
и давать возможноть удалить выбранные элементы, а с помощью вашнего "select mutliply" — добавить недостающие.

Если грамотно реализовать, это в всё будет выполняться за одну итерацию (удаление и добавление).

Я так это вижу. :)

спустя 1 минуту [обр] VIG(5/839)[досье]
  1. Можно вручную управлять цветом текста/фона опций в селекте. Не очень кросс-браузерно :-), зато только один контрол + полная свобода творчества.
  1. Обычно это делают двумя списками и кнопкой ">" (">>", "<", "<<", ...).
спустя 4 минуты [обр] Виктор Ганский aka GunSky(1/435)[досье]
Может я недостаточно вник в суть проблемы,
но разве checkbox'ы не спасают отца русской демократии?
спустя 9 минут [обр] VIG(5/839)[досье]

checkbox'ы весьма неудобны в следующих отношениях:

  1. Нет простой возможности выбрать "интервал".
  2. Длинный список, например ~250 стран, занимает немеренное место на странице, да и тормозит изрядно.

спустя 11 минут [обр] Сергей Сирик(0/737)[досье]

Victor GunSky:
Пытаемся выбрать более оптимальное решение ... с учетом того, что список стран - это порядка 250 элементов, можно выбрать порядка 50и. Такое количество чекбоксов - мало не покажется ... или покажется?

VIG:
Кнопки конешно хорошо, но это Яваскриптом менять состав селектов, не хочу :)

Dmitriy W. Yurov:
Вариант похоже, я думал что-то такое делать, но с двумя селектами.

спустя 44 минуты [обр] VIG(5/839)[досье]

Sergey Siryk: вопрос же задан в разделе usability, а вариант с двумя селектами и кнопкой ">" наиболее распространен, значит и юзабелен :-)

А без какого-либо скрипта все равно не обойтись, если захочется обеспечить хоть ма-аленкий интерфейсик, а не что-то уж совсем примитивное ...

спустя 24 минуты [обр] Сергей Сирик(0/737)[досье]
Примитивность не есть синоним надежности, но где-то рядом во многих случаях :) Примитивность имеет еще одну положительную качеству - допускает лишь малое количество вариантов действий ... а в сложной системе приходится либо реализовывать все возможные варианты (привычные по другим похожим системам), либо пользователь останется в непонятках, куда и как ему мышкой клацать. А длинные описания он фиг читать будет :((
спустя 1 день 3 часа [обр] Александр Пелих(0/530)[досье]

Если нет строгих запросов к компактности интерфейса, то я бы сделал так:
в селекте список стран НЕ присутствующих в выбранном, и выбранные с чекбоксами по столбикам разбиты.
50 стран ~ три столбика по 17 элементов. Ни чего страшного.

Но конечно можно написать жаба скрипт, который будет все это дело разруливать между двумя multiply по кнопишам [>>>] и [<<<] ...

спустя 13 часов [обр] Сергей Сирик(0/737)[досье]

Если честно, select multiply мне активно не нравится необходимостью держать пальцем еще и клавишу на клавиатуре и достаточно высокой аккуратности, с которой надо делать выбор в списке. Посему сделал вариант с чекбоксами выбранных уже стран, для их удаления, и отдельную страницу с чекбоксами для всех остальных невыбранных стран ...

Чекбоксы плюс список тоже хорошо :) как-нибудь попробуем ...

спустя 1 день 7 часов [обр] Sergei Erjemin (webdragon)(3/182)[досье]

Как вариант.

Если это действительно страны, то можно сделать это раскрывающимися списками чекбоксов. Т.е. слоями с чекбоксами. А слои нарезать или по алфавиту или по континентам. Т.о. пользователь увидет толлко небольшой список. Кстати наиболее часто-выбираемые страны (это можно динамически опрдедлять) можно вынести вне раскрыающегося списка и оставить видимыми.

спустя 3 часа 57 минут [обр] Сергей Сирик(0/737)[досье]
Sergei Erjemin (webdragon): ну это уже называется "круто!" В не сильно бюджетных проектах увы не сильно применимо: во-первых, noscript придется в любом случсае делать, во-вторых, дополнительное объединение (разбиение стран по коннтинентам) не добавляет производительности скриптам на Мускуле (ну и разрастание и усложнение админской части тож).
спустя 13 часов [обр] Sergei Erjemin (webdragon)(3/182)[досье]

Причем тут носкрипт? Это можно сделать проще. На сервере определяешь броузер. Если MSIE то делаешь ему раскрывающиеся списки. Если что-то другое... или как предложено выше miltiply-ем или полоным раскрытием всех чекбоксов (кстати в случае с отображением чекбоксов в одну колонку ничего делать вообще не придется, NN и ижесним сам все развернут. Они IE-шные скрипты с hiden непонимают... Хотя написать коректный крос-броузерный скрипт с раскрывающимися списками не так уж и сложно).

А для тех у кого скрипты отключены (но зато есть поддержка hiden) можно предложить пройти на специальную страницу где раскрыто все. Т.к. таких будет 0.01% то уверяю что посещений страницы с "усложненной юзабилити" будет намного. :)

спустя 2 часа 58 минут [обр] Сергей Сирик(0/737)[досье]
Под noscript имелось ввиду ве многообразие решений для безскриптовых пользователей ... Хоть серверное, хоть клиентское ... видел давеча сильно скриптовый сайт, хоть и ходил ИЕ6, впечатление нехорошее осталось - тормозит при рендеринге и т.д. ... мы люди приземленные, серверные, за рамки простого HTML выходить не любим :))
спустя 55 минут [обр] Sergei Erjemin (webdragon)(3/182)[досье]

В простом html у тебя нет альтернатив. myltyply работает не всюду. Так что добро пожаловать в мир checkbox-ов. Дальше юзавилити применима только как эти чекбоксы огранизовать. В случае со странами наиболее юзабельно будет:


Выберите регион и страну:

Антарктида >>
Воточная Европа >>
Западная Европа >>
Западная Америка >>
т.д. >>

АНТАРКТИДА
[х] - страна 1 [x] - страна 5
[o] - страна 2 [x] - страна 6
[х] - страна 3 [x] - страна 7
[х] - страна 4

ВОЗСТОНАЯ ЕРОПА
[х] - страна 1 [x] - страна 5
[o] - страна 2 [x] - страна 6
[х] - страна 3 [x] - страна 7
[х] - страна 4

и т.д.

Где [ >> ] ссылки внутри странички. Если позволет место то можно выводить в три или даже четыре колонки....

спустя 1 час 16 минут [обр] Сергей Сирик(0/737)[досье]

Я уже говорил, что тема потеряла свою практическую актуальность для меня? Теоретиеская полезность для общественности - на усмотрение модератора.

Тему можно ...

спустя 3 часа 40 минут [обр] Алексей Волков, он же «Росомаха из Флориды»(17/468)[досье]
М Архивируем.
Powered by POEM™ Engine Copyright © 2002-2005