проблема с autocomplete
Добрый день!
Сразу скажу, что порылся по форуму и не нашел подобной проблемы, так что не пинайте. Проблема следующая: при вводе в input любого текста у меня создается тьма блоков, это обусловлено тем, что autocomplete запускается на действие OnKeyUp (пробовал $(document).ready() но тогда вообще ничего не работает), сразу в блоки ничего не засовывается, а засовывается через какой-то непонятный промежуток времени и то не всегда. Если даже засовывается - выпадающий список не появляется, а просто заполняется инпут ... Сервер точно возвращает ответ, так что об этом не может быть и речи php-скрипт работал как при использовании .ajax() так и тут. вот форма: <form class="form_flats thF" style="display:block;"> <input type="hidden" class="category" value="flats"> <label for="town">Город / код квартиры<input name="town" class="town" type="text" /></label> <label for="tipe">Тип квартиры <select class="search_select" name="type" class="type"> <option></option> </select> </label> <label for="code">Код квартиры<input name="code" class="code" type="text" /></label> <input type="submit" name="search_ok" value="" class="button" /> </form> а вот скрипт: //аякс-выборка по полю town $('.thF .town').keyup(function() { var data = new Array(); $target = $('.thF .town'); data['category'] = $('.thF .category').val(); data['town'] = $target.val(); $target.autocomplete('/system/modules/search/script.php',{ autoFill: false, minChars: 1, delay: 20, matchSubset: false, extraParams: { category: data['category'], town: data['town'] }, width: 350, zIndex: 99, selectFirst: true, onItemSelect: 'none' }); }); Если кто поймет в чем проблема - прошу ответить! Заранее благодарен! |
Лучше напишите что данное произведение должно делать. Русскими словами.
|
Прошу меня извинить, писал по запарке с работы.
В общем "данной произведение" должно добавлять подсказки к строке поиска (как у Googlе). Оно должно отсылать на сервер два параметра ($_GET['town'] && $_GET['category']), Скрипт формирует запрос в зависимости от введенных данных и возвращает строку, разделенную стандартным разделителем "|", используемым автокомплитом и заполняет некий блок, который должен выводиться под строкой поиска (в блок записываются результаты запроса), далее при выборе одного из пунктов списка, находящегося в этом блоке, содержимое должно записываться в строку поиска. Вроде бы не так уж сложно, но не могу понять что за глюки ... |
Если используешь " jquery.autocomplete.js"
то попробуй после .focus(function() добавить active = -1; if (timeout) clearTimeout(timeout); timeout = setTimeout(function(){onChange();}, options.delay); А в body на onLoad повесить document.getElementById("ТВОЯ ФОРМА ДЛЯ ВВОДА").focus(); . Обязательно ответь. Я так понял что все отправляется и получается как надо , но вот вставляется не в попад, так что если решение не подойдет или не то, обязательно напиши, разберемся! |
Спасибо, сейчас попробую.
пока - вот, что бы не парить мозг: http://www.yalta-kvartirant.com/index_dev.php |
Слайдер в голове работает как то вызывающе))
|
Часовой пояс GMT +3, время: 16:05. |