jQuery UI autocompletar: no hay mensaje de resultados
Estoy intentando que aparezca el mensaje "No hay resultados" en el menú desplegable si no hay resultados. Entonces, por ejemplo, si escribo "ABCD" en el campo de texto, y no hay ninguna entidad que coincida, aparecerá el mensaje "No hay resultados". será mostrado.
Después de buscar en Stackoverflow las diferentes formas de lograr esto y probar algunas de ellas, aún no puedo hacer que funcione.
¿Cómo puedo agregar un mensaje "Sin resultados" al menú desplegable cuando no se encuentran resultados?
jQuery:
$element.autocomplete({
source: function (request, response) {
$.ajax({
url: thUrl + thQS,
type: "get",
dataType: "json",
cache: false,
data: {
featureClass: "P",
style: "full",
maxRows: 12
},
success: function (data) {
response($.map(data, function (item) {
if (data.indexOf(item) === -1) {
return { label: "No Results." }
} else {
return {
label: item.Company + " (" + item.Symbol + ")",
value: item.Company
}
}
}));
}
});
},
minLength: that.options.minLength,
select: function (event, ui) {
reRenderGrid();
}
});
He intentado agregar una sentencia if () con lo siguiente, pero no funcionó.
if (data.length === 0) {
// Do logic for empty result.
}
Puedo sobrescribir la primera entrada con el texto "No Result" si hago lo siguiente ...
if (data.indexOf(item) === 0) {
return {
label: "No Results."
}
... pero si me pongodata.indexOf(item) === -1
nada aparece.
Hace poco intenté lo siguiente, y cuando no hay datos, estos entran en el bucle, sin embargo, "No hay resultados" no se muestra en el menú:
success: function (data) {
response($.map(data, function (item) {
return {
label: item.Company + " (" + item.Symbol + ")",
value: item.Company
}
}));
if (data.length === 0) {
label: "No Results."
}
}
También intenté usar el siguiente ejemplo de Andrew Whitaker sin suerte:
ANDREW WHITACKER'S FIDDLE:http://jsfiddle.net/J5rVP/128/
FUENTE:http://blog.andrewawhitaker.com/2012/10/08/jqueryui-autocomplete-1-9/