проблема с 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, время: 04:43. |