¡Estoy intentando devolver un mensaje cuando no hay resultados para la consulta actual de los usuarios! Sé que necesito aprovechar el evento de teclado, pero parece que el complemento lo está usandoManejo de no resultados en jquery autocompletar
Respuesta
Puede intentar suministrar una opción de análisis (función para manejar el análisis de datos) y hacer lo que necesita cuando no se devuelven resultados para analizar .
Este ejemplo supone que está obteniendo una matriz de objetos JSON que contienen los atributos FullName y 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;
}
});
Esta pregunta es realmente fuera de fecha, de todos modos estoy trabajando con la nueva interfaz de usuario jQuery 1.8.16, autocompletar es ahora muy diferente: http://jqueryui.com/demos/autocomplete/#default
De todas formas, si usted está tratando de hacer el la Lo mismo que pregunta, no hay más función de análisis, por lo que sé, no hay ninguna función que se llame con los resultados de búsqueda.
La manera me las arreglé para sacar esto adelante es anulando la función de filtro de la autocompletar - Nota: esto afectará a todos tus completa automáticamente a
$.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;
};
La función se modifica ligeramente de la fuente, la llamada grep es la misma , pero si no hay resultados agrego un objeto con un valor nulo, luego anulo las llamadas de selección para verificar si hay un valor nulo.
Esto le da un efecto en el que si sigue escribiendo y no se encuentran coincidencias, obtiene el elemento "No se encontraron coincidencias" en el menú desplegable, que es bastante bueno.
Para sustituir las llamadas Seleccione ver 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
}
};
Desde que uso esto en todos mis completa automáticamente en una página, asegúrese de comprobar si el valor es nulo primero! Antes de intentar hacer referencia a las claves que no están allí.
jaja hice esa pregunta hace años, estoy seguro de que lo haría de manera diferente ahora con un patrón mucho más elegante, pero gracias de todos modos –
estoy usando el siguiente código para el mismo propósito (el mensaje se muestra en la lista de autocompletar):
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
}
}
También puede utilizar el evento "respuesta" para examinar esto. Simple pero poderoso. 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. Solr jQuery Autocompletar no autocompletar
- 2. JQuery Autocompletar Donde están los resultados
- 3. jQuery UI autocompletar, muestran algo cuando no hay resultados
- 4. jQuery autocompletar no seleccionar elemento
- 5. jQuery Autocompletar no aparece
- 6. jquery autocompletar no funciona
- 7. Mostrar un icono en jQuery UI autocompletar resultados
- 8. Jquery Autocompletar - no hay mensaje de resultado
- 9. jQuery UI Autocompletar No filtrado de datos
- 10. jQuery autocompletar autofoco no mantener
- 11. jQuery UI autocompletar - renderItem
- 12. Cómo ocultar algunos resultados de autocompletar Eclipse
- 13. Buena jQuery Autocompletar que no forma parte de jQuery UI?
- 14. Resalte Autocompletar IU de jQuery
- 15. jQuery UI Autocompletar autoenfoque no funciona
- 16. jquery-ui autocompletar no selecciona ingrese
- 17. comma separado autocompletar con jquery autocompletar
- 18. manejo de sesión en jquery
- 19. Haciendo el widget Autocompletar de jQuery UI * en realidad * autocompletar
- 20. jquery ui autocompletar, preguntas css
- 21. Limite el resultado en jQuery Autocompletar
- 22. ¿Cómo añadir elemento de la lista personalizada en final de autocompletar jQuery resultados
- 23. Resultados inesperados - Google Autocompletar contra yorkshire
- 24. validando jquery autocompletar
- 25. jQuery El elemento de autocompletar no se ejecuta
- 26. Jquery Autocompletar Solicitudes encadenadas
- 27. jQuery Combobox/seleccionar autocompletar?
- 28. jquery autocompletar resaltando
- 29. JQuery UI Autocompletar Posición
- 30. jQuery autocompletar con imágenes
hmmm nice idea thanks dude! –
¡Gracias a un millón de tíos, trabajando con encanto! –
Agradable, me ayudó mucho: D – Mert