Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
29:03:2008, 17:44
|
|
Новенький ![]() Группа: Программист Сообщений: 2 Регистрация: 29:03:2008 Пользователь №: 16 253 Репутация: 0
|
Здравствуйте!
Требуется помощь знатоков JavaScript Суть такая, например у меня в файле или в мускуле есть база марок машин.(или чего нибудь другого) Необходимо написать скрипт который при вводе в форму на лету выбирал из базы подходящие варианты, и выдавал в виде контекстного меню, и после нажатия на 1 из найденых вариантов, он подставлялся в поле ввода. Я сделал что-то подобное, но выбор из базы происходит только после нажатия кнопки мыши Дальше тупик. |
|
Сообщение
#1
|
|
![]() |
|
|
30:03:2008, 22:07
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 198 Регистрация: 4:08:2006 Из: Vladivostok.pm Пользователь №: 5 749 Специализация: Perl, Web Репутация: 4
|
Функцию обновления списка надо вешать на событие onkeypress, но в любом случае там еще придеться подумать, как не мучить сервере кучей запросов.
Сообщение отредактировал Vovochka - 30:03:2008, 22:11 |
|
Сообщение
#2
|
|
|
|
31:03:2008, 23:07
|
|
Новенький ![]() Группа: Программист Сообщений: 77 Регистрация: 15:05:2007 Пользователь №: 10 864 Специализация: Программирование Репутация: 0
|
Цитата Я сделал что-то подобное, но выбор из базы происходит только после нажатия кнопки мыши Можно посмотреть на то что сделали вы? И Какой размер базы запланирован? до милиона записей , свыше ?? |
|
Сообщение
#3
|
|
|
|
5:04:2008, 13:31
|
|
Новенький ![]() Группа: Программист Сообщений: 2 Регистрация: 29:03:2008 Пользователь №: 16 253 Репутация: 0
|
Размер базы должен быть большой (например, список всех улиц города Новосибирска, ну и т.д.), поэтому обработка должна происходить именно в отдельном скрипте, я точно знаю что это возможно. Есть например библиотека jQuery.autocomplete, но там видимо что-то с кодировкой, немогу разобраться.
Кто знает как прикрутить jQuery, расскажите. Либо надо что-то другое... А вот то, что сделал я(работает только в ИЕ): <head> <style type="text/css"> DIV {background-color: lightgrey} B {color: blue} </style> <script> function tChange(obj) { s = new String(obj.value); streetDSO.Filter='' streetDSO.Filter+='name='+s+'*' streetDSO.Reset() } </script> </head> <object id="streetDSO" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"> <param name="DataURL" value="street.txt"> <param name="UseHeader" value="True"> </object> <form name="form1"> <label>Улица: </label> <input type="text" name=txt onChange="tChange(this.form.txt)"> </form> <table id="elemtbl" datasrc="#streetDSO"> <thead><tr> <td><div id="name"><b>Названия</b></div></td> </tr></thead> <tbody> <tr> <td><div datafld="name"></div></td> </tr> </tbody> </table> база хранится в файле street.txt: name Малышева Луначарского Ленина Блюхера Бардина Шишимская Уральская Гагарина Сулимова Отрадная |
|
Сообщение
#4
|
|
![]() |
|
Текстовая версия | Сейчас: 16:05:2008 - 17:49 |