Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
Столкнулся с формой ввода информации в которой вынужден использовать длинный <SELECT>,
несколько тысяч <OPTION>. Понятно, что это кошмар ужасный. Кое-как смог выделить группы
и разбить один <SELECT> на два: в первом выбирается группа, после этого во втором появляется
уже более короткий список. Но группы получаются сильно разные по длине: от единиц до сотен
<OPTION>, да и самих групп тоже несколько сотен получилось, тоже не здорово.
Больше ничего придумать не получается.
Собственно вопрос: как можно сделать красиво в данном случае?
22 сен 10, 14:39    [9482363]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
ShSerge
Member

Откуда: ʚонɔ dиw
Сообщений: 24911
Fund-A-Mental,

Вместо селекта используйте деревяху. Типа тынца.
22 сен 10, 14:43    [9482419]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
ShSerge,

деревяха - это дерево, что-ли? К сожалению группы первого уровня дальше не делятся.
22 сен 10, 14:48    [9482480]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
miksoft
Member

Откуда:
Сообщений: 38558
а что это за объекты?
если, например, населенные пункты, то можно делить по первой букве названия
22 сен 10, 15:09    [9482760]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
ShSerge
Member

Откуда: ʚонɔ dиw
Сообщений: 24911
Fund-A-Mental,

Ну не делятся, и не делятся. Всё равно, селект для Вашего случая - самый плохой выбор. Селект годится, если значений не многим больше десятка. Тем более, что они у Вас зависимые. А что, если юзер сразу во второй ткнёт. Он может удивиться в лучшем случае, а в худшем - пошлёт Ваш сайт куда подальше.
22 сен 10, 15:10    [9482768]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Edd.Dragon
Member

Откуда: Украина
Сообщений: 6963
Fund-A-Mental
Столкнулся с формой ввода информации в которой вынужден использовать длинный <SELECT>,
несколько тысяч <OPTION>. Понятно, что это кошмар ужасный. Кое-как смог выделить группы
и разбить один <SELECT> на два: в первом выбирается группа, после этого во втором появляется
уже более короткий список. Но группы получаются сильно разные по длине: от единиц до сотен
<OPTION>, да и самих групп тоже несколько сотен получилось, тоже не здорово.
Больше ничего придумать не получается.
Собственно вопрос: как можно сделать красиво в данном случае?

Не зная предмета разговора ответ общий:

делить на категории по паре десятков элементов, не больше. Т.е. уровня 3 получится 20*20*20 - на 8000 элементов в итоге. Плюс предусмотреть возможность реализации списка фаворитов, потому что все-равно не удобно за каждым элементом клацать.

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

Какие ж тут варианты.
22 сен 10, 15:17    [9482877]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
ShSerge
Fund-A-Mental,

Всё равно, селект для Вашего случая - самый плохой выбор. Селект годится, если значений не многим больше десятка. Тем более, что они у Вас зависимые. А что, если юзер сразу во второй ткнёт. Он может удивиться в лучшем случае, а в худшем - пошлёт Ваш сайт куда подальше.


Удивительно точно подмечено. Тем более,что мой вопрос был как раз о том, чем заменить длинный селект.
На всякий случай: я потому и спрашивал, что длинный селект - это плохо.
22 сен 10, 15:30    [9483048]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
Edd.Dragon
Не зная предмета разговора ответ общий:

делить на категории по паре десятков элементов, не больше. Т.е. уровня 3 получится 20*20*20 - на 8000 элементов в итоге. Плюс предусмотреть возможность реализации списка фаворитов, потому что все-равно не удобно за каждым элементом клацать.

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

Какие ж тут варианты.


Собственно вы предложили то, что я сделал УЖЕ.
Разбить список на группы, предоставить выбор сначала группы, а потом внутри этой группы. Да, я так
и сделал. Только группы получаются разные по объему и разбить группы на под-группы не получается.
Так что получилось не сильно лучше.
Я думал, может быть есть другой способ выбрать нужное из длинного списка? Хотел сделать поле ввода, когда при вводе каждого символа появляется всё более короткий список, из которого можно сделать выбор (ну, типа как у гугла поисковая строка). Но так тоже не получается, оказалось, что надо ввести 8-10 символов, чтобы получился достаточно короткий список, а при этом остается ввести всего 2-3 символа. Смысла нет.
22 сен 10, 15:45    [9483184]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
miksoft
а что это за объекты?
если, например, населенные пункты, то можно делить по первой букве названия


Можно конечно. Только вопрос это не решает. Может оказаться, например, что на букву "А" - 500 городов, а на букву "Б" - 3 города. Получится, что первый селект будет короткий (буквы), а второй может оказаться очень длинным. Те же айки, только сбоку.
22 сен 10, 15:57    [9483294]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
miksoft
Member

Откуда:
Сообщений: 38558
Fund-A-Mental
miksoft
а что это за объекты?
если, например, населенные пункты, то можно делить по первой букве названия


Можно конечно. Только вопрос это не решает. Может оказаться, например, что на букву "А" - 500 городов, а на букву "Б" - 3 города. Получится, что первый селект будет короткий (буквы), а второй может оказаться очень длинным. Те же айки, только сбоку.
Ну пока вы не опишете предметную область - нам можно будет только гадать.
Что это за загадочные последние 2-3 символа, которые имеют такое значение?
22 сен 10, 16:08    [9483403]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Edd.Dragon
Member

Откуда: Украина
Сообщений: 6963
miksoft
Ну пока вы не опишете предметную область - нам можно будет только гадать.
Что это за загадочные последние 2-3 символа, которые имеют такое значение?

Цифры ))))

000 - 999
22 сен 10, 16:18    [9483522]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4728
Fund-A-Mental,

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

причем для деталей показывала для выбранной позиции
-куда входит
-что в нее входит
-с выходом на маршрут обработки и трудоемкость детале-операций
.....
22 сен 10, 16:19    [9483531]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
miksoft
Ну пока вы не опишете предметную область - нам можно будет только гадать.
Что это за загадочные последние 2-3 символа, которые имеют такое значение?


Ничего загадочного, просто названия опций в списке почти одинаковые, причем, что самое плохое - одинаковые с начала, а не в конце.
Собственно, я наверное не понятно задал вопрос.
Есть длинный список. Надо, чтобы человек сделал из него выбор каким-то образом. Надо, чтобы это было удобно.
1) длинный единый список. (не подходит понятно почему).
2) Выбор группы, потом выбор в этой группе. (не подходит тоже).
3) Постепенный ручной ввод, затем выбор из короткого списка. (я уже описал, почему не подходит).

Еще какие есть варианты? Вот что я хотел спросить.
22 сен 10, 16:20    [9483537]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Edd.Dragon
Member

Откуда: Украина
Сообщений: 6963
Fund-A-Mental
Ничего загадочного, просто названия опций в списке почти одинаковые, причем, что самое плохое - одинаковые с начала, а не в конце.

А в остальном ничего загадочного конечно же
22 сен 10, 16:24    [9483577]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
ПЕНСИОНЕРКА,

Собственно вопрос был о том как показать человеку нечто такое, чтобы он мог удобно сделать выбор из длинного списка. То есть как реализовать интерфейс.
22 сен 10, 16:26    [9483588]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
Edd.Dragon
Fund-A-Mental
Ничего загадочного, просто названия опций в списке почти одинаковые, причем, что самое плохое - одинаковые с начала, а не в конце.

А в остальном ничего загадочного конечно же


Ну хорошо, если это важно.
Ну пусть будет список коммутаторов в городе. У коммутатора есть признак в каком районе он находится и IP-адрес. Для того, что бы получить список коммутаторов в /24 сети, надо ввести 3/4 IP-адреса, после чего получим список из 254 коммутаторов. Есть смысл? Нет, проще уже адрес до конца написать.
Вот примерно так. Есть предложения? (да, и на всякий случай: коммутаторов примерно 30тыс.).
22 сен 10, 16:32    [9483655]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
miksoft
Member

Откуда:
Сообщений: 38558
Fund-A-Mental
Есть предложения?
вводите третий октет из адреса
или второй, если в нем больше уникальных значений
22 сен 10, 16:42    [9483788]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
miksoft
Fund-A-Mental
Есть предложения?
вводите третий октет из адреса
или второй, если в нем больше уникальных значений


то есть получим шаблон для выбора типа *.*.25.* ? Длинноватый список получится.
Да и это конкретика.
Интересует вообщем, концептуально, как решить вопрос предоставления человеку удобного интерфейса для выбора из длинного списка.
22 сен 10, 16:48    [9483858]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4728
Fund-A-Mental,

я как раз и использовала поиск(для наглядности минус заменяет пробел)

иванов дмитрий петрович ив*-дм*-петр*
петрова(а может семенова) ирина яковлевна*-ирина як*
гайка м12 гост1235-68(или г1235-68)гайка*м12*г*1235*
все госта 1235-68*г*1235-68*


пользователи очень быстро осваивают. они искали материалы, детали, работающих
22 сен 10, 16:49    [9483864]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
ПЕНСИОНЕРКА
Fund-A-Mental,

я как раз и использовала поиск(для наглядности минус заменяет пробел)

иванов дмитрий петрович ив*-дм*-петр*
петрова(а может семенова) ирина яковлевна*-ирина як*
гайка м12 гост1235-68(или г1235-68)гайка*м12*г*1235*
все госта 1235-68*г*1235-68*


пользователи очень быстро осваивают. они искали материалы, детали, работающих


(А если один товар называется "гайка м12", а другой "м12, гайка" - ваш шаблон найдет оба варианта?)

Да, я видел такие интерфейсы. Тоже вариант, я посмотрю, может быть его использовать удастся.
22 сен 10, 16:59    [9483971]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
Fund-A-Mental
Member

Откуда:
Сообщений: 78
Fund-A-Mental
ПЕНСИОНЕРКА
Fund-A-Mental,

я как раз и использовала поиск(для наглядности минус заменяет пробел)

иванов дмитрий петрович ив*-дм*-петр*
петрова(а может семенова) ирина яковлевна*-ирина як*
гайка м12 гост1235-68(или г1235-68)гайка*м12*г*1235*
все госта 1235-68*г*1235-68*


пользователи очень быстро осваивают. они искали материалы, детали, работающих


(А если один товар называется "гайка м12", а другой "м12, гайка" - ваш шаблон найдет оба варианта?)

Да, я видел такие интерфейсы. Тоже вариант, я посмотрю, может быть его использовать удастся.


Неудобство очевидное: и ручной ввод, и мышкой тыкать надо (ну или стрелки нажимать + ентер).
22 сен 10, 17:02    [9484008]     Ответить | Цитировать Сообщить модератору
 Re: Как быть с длинными <SELECT> ?  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4728
Fund-A-Mental,

а что делать

массив накапливался за многие года
информация вводилась десятками людей с накладных и прочее
даже в прайсах фирм есть
  • круг алмазный ммм
  • алмазный круг ммм
  • круг ммм
  • 22 сен 10, 17:19    [9484197]     Ответить | Цитировать Сообщить модератору
     Re: Как быть с длинными <SELECT> ?  [new]
    artas
    Member

    Откуда: Киев сити
    Сообщений: 1079
    Fund-A-Mental,

    я в таких случаях использовал
    тынц
    22 сен 10, 17:32    [9484318]     Ответить | Цитировать Сообщить модератору
     Re: Как быть с длинными <SELECT> ?  [new]
    Fund-A-Mental
    Member

    Откуда:
    Сообщений: 78
    ПЕНСИОНЕРКА
    Fund-A-Mental,

    а что делать

    массив накапливался за многие года
    информация вводилась десятками людей с накладных и прочее
    даже в прайсах фирм есть
  • круг алмазный ммм
  • алмазный круг ммм
  • круг ммм


  • Да, понятно. Я же не говорю, что так нельзя, в вашем случае, возможно, и нет другого варианта.
    Я про свой огород - он мне нравится. А как сделать красиво я придумать не могу.
    22 сен 10, 17:33    [9484335]     Ответить | Цитировать Сообщить модератору
     Re: Как быть с длинными <SELECT> ?  [new]
    ShSerge
    Member

    Откуда: ʚонɔ dиw
    Сообщений: 24911
    ПЕНСИОНЕРКА,

    Надеюсь, Вы свой шаблон не просто так в LIKE в запрос к базе вставляете?
    22 сен 10, 17:35    [9484358]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
    Все форумы / Вопрос-Ответ Ответить