Привет, я пытаюсь вернуть сообщение, когда результатов поиска пользователей не будет! Я знаю, что мне нужно использовать событие keyup, но похоже, что плагин использует его.Обработка результатов в jQuery autocomplete
ответ
Вы можете попробовать поставить параметр синтаксического анализа (функцию обработки синтаксического анализа данных) и сделать то, что вам нужно, когда результаты не будут возвращены ,
В этом примере предполагается, что вы возвращаете массив объектов JSON, которые содержат атрибуты FullName и Address.
$('#search').autocomplete({
dataType: "json",
parse: function(data) {
var array = new Array();
if (!data || data.length == 0) {
// handle no data case specially
}
else {
for (var i = 0; i < data.length; ++i) {
var datum = data[i];
array[array.length] = {
data: datum,
value: data.FullName + ' ' + data.Address,
result: data.DisplayName
};
}
}
return array;
}
});
Этот вопрос действительно устаревает, в любом случае я работаю с новым JQuery UI 1.8.16, автозаполнения теперь довольно разные: http://jqueryui.com/demos/autocomplete/#default
В любом случае, если вы пытаетесь к делать то же самое, что и вопрос спрашивает, больше нет функции синтаксического анализа, насколько я знаю, нет функции, вызываемой с результатами поиска.
Как мне удалось провернуть это является переопределение функции фильтра автозаполнения в - Примечание: это будет влиять на все ваши autocompletes
$.ui.autocomplete.filter = function(array, term) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(term), "i");
var aryMatches = $.grep(array, function(value) {
return matcher.test(value.label || value.value || value);
});
if (aryMatches.length == 0){
aryMatches.push({
label: '<span class="info" style="font-style: italic;">no match found</span>',
value: null
});
}
return aryMatches;
};
Функция слегка модифицирована от источника, вызов Grep то же самое , но если результатов нет, я добавляю объект со значением null, затем я переопределяю вызовы select для проверки нулевого значения.
Это дает вам эффект, если вы продолжаете печатать, и совпадений не найдено, вы получаете элемент «нет совпадений найдено» в раскрывающемся списке, что довольно круто.
Для переопределения выберите вызовы см jQuery UI Autocomplete disable Select & Close events
$(this).data('autocomplete').menu.options.selected = function(oEvent, ui){
if ($(ui.item).data('item.autocomplete').value != null){
//your code here - remember to call close on your autocomplete after
}
};
Так как я использую это на всех моих autocompletes на странице, убедитесь, что вы проверить, если значение равно нулю первым! Прежде чем пытаться ссылаться на ключи, которых нет.
haha Я задал этот вопрос много лет назад, я уверен, что теперь я сделаю это по-другому, с более элегантным рисунком, но спасибо в любом случае –
Я использую следующий код для тех же целей (сообщение отображаются в списке автозаполнения):
success: function(data, status, xhr){
if(!data.length){
var result = [
{
label: 'There are no matches for your query: ' + response.term,
value: response.term
}
];
response(result);
}
else{
// normal response
}
}
Вы можете также использовать «ответ» событие, чтобы изучить это. Простой, но мощный. http://api.jqueryui.com/autocomplete/#event-response
response: function (event, ui) {
if (ui.content.length == 0) {
//Display an alert or something similar since there are no results
}
},
- 1. обработка «Нет результатов» с JQuery Autocomplete
- 2. jQuery Autocomplete порядок результатов
- 3. jquery ui autocomplete - открытое событие (обработка результатов не производилась)
- 4. CodeIgniter + Jquery + autocomplete нет результатов
- 5. jQuery UI autocomplete- нет результатов сообщение
- 6. jquery plugin Autocomplete - не показывать результатов
- 7. jQuery ui autocomplete нет результатов поиска
- 8. jQuery autocomplete и обработка значения/метки проблема
- 9. jQuery autocomplete: disable submit, когда нет результатов
- 10. jquery autocomplete не работает для нескольких результатов
- 11. jquery autocomplete Как показать «нет результатов»
- 12. ajaxStart отменяет jQuery Autocomplete
- 13. jquery-autocomplete: serviceUrl для фильтрации результатов, представленных в lookupFilter()
- 14. Получение jQuery autocomplete для отображения результатов в виде ссылок
- 15. jQuery UI Autocomplete - стрелки не переключаются в список результатов
- 16. Обработка данных из пользовательского источника в jquery-ui autocomplete
- 17. Kendo autocomplete не показывал результатов
- 18. Google Места Autocomplete - изменение результатов
- 19. JQueryUI Autocomplete - Обработка без выбора
- 20. JQuery AutoComplete vs Gmail AutoComplete
- 21. jQuery + PHP Autocomplete
- 22. Ограничить результат в jQuery Autocomplete
- 23. jquery autocomplete query
- 24. Ajax AutoComplete Поиск не показывает результатов
- 25. Обработка результатов ajax post
- 26. jQuery UI Autocomplete Validation
- 27. jQuery autocomplete timeout
- 28. Autocomplete city with jQuery
- 29. JQuery autocomplete
- 30. jQuery AutoComplete
hmmm хорошая идея спасибо чувак! –
Спасибо, миллион чуваков, работайте в обаянии! –
Ницца, мне очень помог: D – Mert