[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выпадающий список типа select
ApuktaChehov
Здравствуйте.

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

Пока, я смог сделать подобное дело, с помощью AJAX. Но при этом стрелками двигаться по списку нельзя, только мышью.

Я не прошу код, но надеюсь, что подкинете мне идейку.


Спасибо огромное!





Спустя 46 минут, 32 секунды (27.02.2010 - 14:49) sergeiss написал(а):
А почему стрелками низзя? Сделай список, его когда выберешь (программно или мышью), то дальше можно и стрелками перемещаться. Только не "выпадающий", а список с количеством строк больше 1.

Спустя 1 час, 18 минут, 54 секунды (27.02.2010 - 16:07) ApuktaChehov написал(а):
Я сделал впадающий список дивом, в который грузятся ссылки через <br> AJAX - ом.

Получается, что выглядит это так:
<input type = "text">
<div>
<a href="">1</a><br>
<a href="">2</a><br>
<a href="">3</a><br>
...
</div>

В поле input вводится текст, после чего происходит отправка введенных данных скрипту, который возвращает сслыки через <br>.
При таком раскладе кнопки не работают. Т.е. список прокручивается, но только как слой. Элементы списка не выделяются. К тому же что бы этот слой прокрутить, его нужно выделить мышкой.

sergeiss чесно говоря, я не понял, что Вы имели в виду.

А что это за список "список с количеством строк больше 1"?

Спустя 8 минут, 14 секунд (27.02.2010 - 16:16) sergeiss написал(а):
ApuktaChehov - у тебя я вижу набор ссылок, но не вижу списка!

Вот это - список, в котором видны 10 строк сразу:
<select size="10">
<option
....>....</option>
....
</select>

Формируешь список динамически, на основании данных, полученных через AJAX. Тут же выставляешь его длину (size). При выборе строки срабатывает сделанный тобой же обработчик, и ты делаешь какое-то действие.

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

Спустя 2 минуты, 23 секунды (27.02.2010 - 16:18) ApuktaChehov написал(а):
Об этом я думал тоже. Но я не знаю как переместиться из поля <input> в <select>. Ведь данные вводяться не в <select> же?

Спустя 54 секунды (27.02.2010 - 16:19) sergeiss написал(а):
Цитата (ApuktaChehov @ 27.02.2010 - 17:18)
Но я не знаю как переместиться из поля <input> в <select>

Пока ты писал этот текст, я уже сделал приписку в предыдущем ответе smile.gif

Спустя 1 минута, 35 секунд (27.02.2010 - 16:21) ApuktaChehov написал(а):
Во. Вот оно где зарыто! Спасибо!
Я где то рядом с этим блуждал.

Честь и хвала!

Спустя 1 час, 8 минут, 16 секунд (27.02.2010 - 17:29) Michael написал(а):
Видел как в гугле это сделано? - под инпутом выводится табличка - в ней инфы побольше чем в select можно запихнуть.
Все нажатия кнопок навешиваются на инпут и уже как реакция - подсветка и перемещение по строкам этой таблицы.
Тут надо еще учесть чтобы по стрелке вниз фокус не соскочил с инпута при открытом списке.
Вроде все, особых проблем закодить не вижу.

Цитата
<div>
<a href="">1</a><br>
<a href="">2</a><br>
<a href="">3</a><br>
...
</div>

Так на будущее - если этим ссылкам присвоить display:block; то не нужны будут <br>.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.