Стряпаем Сombobox на JS


Это тоже называется COMBO BOX!!!
Мне понадобился выпадающий список. Причём список может быть непредсказуемо большой.

Штатный select из HTML не тянет, т.к. мне скорее всего будет нужна возможность ввода подстроки для последующего поиска. фильтрацией.

Что-то подобное можно видеть здесь. Классная библиотека! Отличная работа, но что-то мне не понравилась лицензия. Я пишу сайт для себя, и соответственно не буду делать релизов с открытыми кодами, поэтому мне видимо не подходит бесплатная лицензия. Хотя возможно я просто что-то неправильно понял.

Если кто-то что-то сможет посоветовать буду рад.

А пока, пишем сами. После исканий и гуглений, а также компиляции и адаптации где-то чего-то подсмотренного к своей теме я сделал примерно следующей вариант:

На форме помещается простое текстовое поле, на котором на событии OnClick подвешена функция, которая у специально созданного DIV подставляет контент.

Вот такой получился код для Javascript:


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

Далее осталось просто в теле формы добавить специальное событие. Событие вызывается через 50 милисекунд после нажатия, это сэкономит процессорные ресурсы, если человек печатает со скоростью свыше 20 знаков в минуту

.....................
Хостер





...........................

К сожалению, мне не удалось реализовать регистрочувствительный поиск. Может кто подскажет?

А вообще я склоняюсь к использованию AJAX.

Стряпаем Сombobox на JS: 2 комментария

  1. Санитар

    Для регистрозависимости ищи регэкспами, var RegExp рулит, там хоть как можно искать.

  2. altesack Автор записи

    К сожалению не силён в regexp :(
    Чувствую что очень много пропускаю.
    Но чувствую что не я один такой :)

Комментарии запрещены.