Hej Próbuję zwrócić wiadomość, gdy nie ma wyników dla bieżącego zapytania użytkowników! Wiem, że muszę wejść w zdarzenie keyup, ale wygląda na to, że wtyczka go używaObsługa brak wyników w autouzupełnieniu jquery
Odpowiedz
Możesz spróbować podać opcję parsowania (funkcja do przetwarzania danych) i zrobić to, czego potrzebujesz, gdy żadne wyniki nie zostaną zwrócone do analizy .
W tym przykładzie założono, że odzyskujesz tablicę obiektów JSON, które zawierają atrybuty FullName i 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;
}
});
to pytanie jest naprawdę nieaktualne jakikolwiek pracuję z nowym jQuery UI 1.8.16, autouzupełnianie jest teraz całkiem inna: http://jqueryui.com/demos/autocomplete/#default
Anyways, jeśli próbujesz do wykonaj tak samo jak pytanie, pyta, nie ma więcej funkcji parsowania, o ile wiem, nie ma funkcji, która jest wywoływana z wynikami wyszukiwania.
Sposób udało mi się ciągnąć ten off jest nadrzędnymi funkcji filtrować autouzupełniania za - Uwaga: będzie to miało wpływ na wszystkie Autouzupełnianie
$.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;
};
Funkcja jest lekko zmodyfikowany ze źródła, wywołanie grep jest taka sama , ale jeśli nie ma wyników, dodaję obiekt o wartości null, a następnie nadpisuję wywołania select, aby sprawdzić wartość pustą.
Daje to efekt, jeśli w dalszym ciągu piszesz i nie ma żadnych dopasowań, w menu pojawia się pozycja "brak pasujących elementów", co jest całkiem fajne.
przesłonić wybierz Połączenia zobaczyć 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
}
};
Ponieważ Używam tego na wszystkich moich Autouzupełnianie na stronie, pamiętaj, aby sprawdzić, czy wartość jest null pierwszy! Zanim spróbujesz odwołać się do kluczy, których tam nie ma.
haha zadałem to pytanie kilka lat temu, jestem pewien, że zrobiłbym to teraz inaczej z dużo bardziej eleganckim wzorem, ale dzięki, tak czy inaczej –
Używam następujący kod dla tego samego celu (komunikat jest wyświetlany na liście autouzupełniania):
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
}
}
Można również korzystać z „odpowiedź” w celu zbadania tego zdarzenia. Prosty, ale potężny. 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 - Użyj pary klucz/wartość w autouzupełnieniu
- 2. UISearchDisplayController "Brak wyników" text
- 3. bq.py Brak wyników stronicowania
- 4. Regex z .find(), brak wyników
- 5. Jak uzyskać wartość wybranego elementu w autouzupełnieniu
- 6. iOS bluetooth scanForPeripheralsWithServices Brak wyników
- 7. Brak wyników wyszukiwania Django Haystack
- 8. Obsługa ciągów w jQuery
- 9. Obsługa Dapper zwróciła pusty zestaw wyników
- 10. Obsługa wyników zerowych metodą LINQ Średnia()
- 11. jQuery Autouzupełnianie kolejność wyników
- 12. Nawigacja wielowarstwowa Magento 2 brak wyników
- 13. jQuery kombinacje obsługa keypress
- 14. Jquery elementem granica wyników zapytania
- 15. Obsługa tabel za pomocą jQuery
- 16. Tablica rekordów w centrum gier zliczająca, brak wyników
- 17. jQuery AJAX: zbieranie wielu asynchronicznych wyników
- 18. Próba wykorzystania czasu Google Analytics i brak zapisywania wyników
- 19. Obsługa zdarzeń/wtyczek Longpress/longclick w jQuery
- 20. Wtyczka jquery form, brak obsługi błędów
- 21. jQuery fadeOut bez wyświetlania brak?
- 22. Animowanie marginesu Brak z jQuery
- 23. Brak dostawcy dla Jasmine-jquery?
- 24. jquery ui autouzupełnianie multilinii stylizacji wyników
- 25. Przenoszenie JQuery - brak nakładania się
- 26. DbSet mock, brak wyników podczas wywoływania ToList po drugie
- 27. Obsługa jquery Transfer-Encoding: chunked? jak
- 28. Obsługa błędów jQuery JsTree i JSON
- 29. obsługa zdarzenia jQuery onClick na kierownicy
- 30. jQuery autouzupełnianie i obsługa problemu wartości/etykiety
hmmm fajny pomysł dzięki stary! –
Dzięki milionowi kolesi, pracujcie w uroku! –
Miło, bardzo mi pomogło: D – Mert