1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Подскажите! Как сделать Autocomlete - поле?

Тема в разделе "Web - программирование", создана пользователем HoolyGan, 29 мар 2008.

  1. HoolyGan

    HoolyGan Гость

    Репутация:
    0
    Здравствуйте!

    Требуется помощь знатоков JavaScript

    Суть такая, например у меня в файле или в мускуле есть база марок машин.(или чего нибудь другого)
    Необходимо написать скрипт который при вводе в форму на лету выбирал из базы подходящие варианты, и выдавал в виде контекстного меню, и после нажатия на 1 из найденых вариантов, он подставлялся в поле ввода.

    Я сделал что-то подобное, но выбор из базы происходит только после нажатия кнопки мыши

    Дальше тупик. :)
     
  2. Vovochka

    Vovochka Гость

    Репутация:
    0
    Функцию обновления списка надо вешать на событие onkeypress, но в любом случае там еще придеться подумать, как не мучить сервере кучей запросов.
     
  3. Rjkz

    Rjkz Гость

    Репутация:
    0
    Можно посмотреть на то что сделали вы? И Какой размер базы запланирован? до милиона записей , свыше ??
     
  4. HoolyGan

    HoolyGan Гость

    Репутация:
    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
    Малышева
    Луначарского
    Ленина
    Блюхера
    Бардина
    Шишимская
    Уральская
    Гагарина
    Сулимова
    Отрадная
     
Загрузка...

Поделиться этой страницей