PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Ускорить выбор в выпадающем списке
sevalery
Отправлено: 20 Июля, 2011 - 13:19:06
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2011  


Помог: 0 раз(а)




В форме ввода есть большой выпадающий список. При помощи каких атрибутов или дополнений, в результате ввода будет подставлено (и выделено) первое подходящее значение (буквы) из списка. Если Вы продолжаете вводить текст, в поле ввода и далее будет подставляться подходящее значение, но уже с учетом введенного Вами текста. (типа autoFill).
Вот часть кода ввода формы - object.php:
PHP:
скопировать код в буфер обмена
  1. <tr class="o_two">
  2. <td>Улица</td>
  3. <td>'.selectoptions($street_select_data, $_POST['street'],'street').'</td>
  4. </tr>

Это откуда берется список улиц - config.php
PHP:
скопировать код в буфер обмена
  1. // Улица
  2. $street_select_data=array(
  3.   ''     =>    'не указано',
  4. '101'    =>    'Антонова',
  5. '102'    =>    'Арбузова',
  6. '103'    =>    'Береговая'
  7. );

Хочу ускорить выбор улицы в выпадающем списке.
Я создал выпадающий список на jQuery он работает прекрасно, но названия улиц идут в скрипте
CODE (javascript):
скопировать код в буфер обмена
  1. $(function() {
  2. var availableTags = [
  3. 'Антонова',
  4. 'Арбузова',
  5. 'Береговая'
  6. ];
  7. $( "#tags" ).autocomplete({
  8.  source: availableTags
  9.         });
  10.     });

Названия улиц записывается в БД полным именем (увеличивая размер базы и время обработки запросов). Есть возможность добавлять новые улицы (+), но возможно введение улиц с ошибками, созданием нескольких вариантов тех самых улиц (-), что ухудшает работу поиска. Мне нужен быстрый выбор (по начальным буквам) из имеющегося списка.
В моем варианте это шаблоны Smarty, в БД записываются цифры соответствующие улицам ('101').
Есть несколько аналогичных списков - регион, город, район, населенный пункт. и.тд. значение каждого записывается в БД в виде цифр.
Пытался прикрутить выпадающий список на jQuery к select_data. Не получается.
Может есть у кого подобный опыт!
 
 Top
Slavenin
Отправлено: 20 Июля, 2011 - 19:16:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




первый вариант, грузите улицы/города и прочее из базы во время построения страницы в массивы js, затем при вводе букв ищете по ним, второй вариант, ajax запросы к серверу с динамической генерацией запроса к базе. первый вариант работает быстро и снижает нагрузку на сервак, но если улиц и прочих данных много, могут получится очень большие массивы и увеличиться нагрузка на браузер, третий вариант мне нравиться больше всего, хотя насчет его кроссбраузерности есть некоторые сомнения. Вкуриваете в HTML5->AppCache, HTML5->Хранилище Web, HTML5->Web Workers, почитать обо всем этом можно здесь http://www[dot]intuit[dot]ru/department/[dot][dot][dot]ass/free/status/ данные технологии позволят исключить сервер из обработки данных, не перегружать код ненужными массивами больших размеров и снизить нагрузку на сам браузер Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB