У меня проблема с автоматическим полным плагином. Вот мой код:jquery plugin Autocomplete - не показывать результатов
var autocomplete = {
cache: {},
xhr: {}
};
$('#header .search input[type="text"]').autocomplete({
minLength : 2,
source: function (request,response) {
var q = request.term;
if(q in autocomplete.cache) {
response(autocomplete.cache[q]);
return false;
} else {
autocomplete.hxr = $.getJSON("/search/autocomplete/nous?ajax=1&q="+q,function(data, status, xhr) {
autocomplete.cache[q] = data;
//if(autocomplete.xhr === xhr) {
response(data);
//}
});
return true;
}
}
});
Когда я пишу что-то на входе («Hello» в данном случае), я могу видеть в средстве разработки веб, что его возвращающей массив JSON. Итак, я получаю правильный ответ, когда запрос будет выполнен.
0: "hello kitty"
1: "hello dolly and frieda"
2: "hello ass"
3: "hello there"
4: "hello do you make"
Это делает запросы AJAX, но результаты не проталкивается в раскрывающемся меню, он пуст. Любая помощь приветствуется!
Спасибо!
это опечатка? 'autocomplete.hxr' –
Какова цель возврата true или false внутри функции источника? Это, похоже, не документировано. –
Я действительно пытаюсь отлаживать код другого пользователя, и этого человека больше нет ... Но это нужно для реализации кэширования, чтобы избежать избыточных запросов. – Lelly