Атрибуты выпадающего списка, как ускорить выбор в выпадающем списке

sevalery

Новичок
В форме ввода есть большой выпадающий список. При помощи каких атрибутов или дополнений, в результате ввода будет подставлено (и выделено) первое подходящее значение (буквы) из списка. Если Вы продолжаете вводить текст, в поле ввода и далее будет подставляться подходящее значение, но уже с учетом введенного Вами текста. (типа autoFill).
Вот часть кода ввода формы - object.php:
PHP:
<tr class="o_two">
<td>Улица</td>
<td>'.selectoptions($street_select_data, $_POST['street'],'street').'</td>
</tr>
Это откуда берется список улиц - config.php
PHP:
// Улица 
$street_select_data=array(
  ''     =>    'не указано',
'101'    =>    'Антонова',
'102'    =>    'Арбузова',
'103'    =>    'Береговая'
);
Хочу ускорить выбор улицы в выпадающем списке.
Я создал выпадающий список на jQuery он работает прекрасно, но названия улиц идут в скрипте
PHP:
$(function() {
var availableTags = [
'Антонова',
'Арбузова',
'Береговая'
];
$( "#tags" ).autocomplete({
 source: availableTags
        });
    });
Названия улиц записывается в БД полным именем (увеличивая размер базы и время обработки запросов). Есть возможность добавлять новые улицы (+), но возможно введение улиц с ошибками, созданием нескольких вариантов тех самых улиц (-), что ухудшает работу поиска. Мне нужен быстрый выбор (по начальным буквам) из имеющегося списка.
В моем варианте это шаблоны Smarty, в БД записываются цифры соответствующие улицам ('101').
Есть несколько аналогичных списков - регион, город, район, населенный пункт. и.тд. значение каждого записывается в БД в виде цифр.
Пытался прикрутить выпадающий список на jQuery к select_data. Не получается.
Может есть у кого подобный опыт!
 

prolis

Новичок
Несколько практичных рекомендаций:
1. Хранить справочник улиц в отдельной таблице (импортнуть себе КЛАДР)
2.При вводе первых 2-3 букв (в зависимости от количества улиц) в с помощью AJAX подгружать список подходящих улиц данного города
3.В БД записывать полное введенное в поле значение, а не ID улицы - такая небольшая денормализация для пользовательских адресов в дальнейшем существенно облегчит жизнь.
 

zerkms

TDD infected
Команда форума
prolis
Я бы тогда добавил - хранить и id, и строку.
 
Сверху