Estoy implementando el autocompletado de jQuery UI basado en el ejemplo de categorías en la documentación. Me gustaría agregar el número de resultados al encabezado Categorías, así que en lugar de mostrar "Productos", muestra "Productos (3)". Sé que la función _renderMenu debe modificarse a partir del ejemplo, pero tengo problemas para entender cómo se puede modificar. Cualquier ayuda que me inicie por el camino correcto sería muy apreciada.jQuery UI Categorías de autocompletado con mecanismo de conteo
Aquí está el código de ejemplo de interfaz de usuario jQuery Autocompletar Categorías de Evaluación:
<script>
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
</script>
<script>
$(function() {
var data = [
{ label: "anders", category: "" },
{ label: "andreas", category: "" },
{ label: "antal", category: "" },
{ label: "annhhx10", category: "Products" },
{ label: "annk K12", category: "Products" },
{ label: "annttop C13", category: "Products" },
{ label: "anders andersson", category: "People" },
{ label: "andreas andersson", category: "People" },
{ label: "andreas johnson", category: "People" }
];
$("#search").catcomplete({
delay: 0,
source: data
});
});
</script>
<div class="demo">
<label for="search">Search: </label>
<input id="search" />
</div>
creo que hay un problema con ese ejemplo jQuery UI es que los elementos de la lista tienen que agruparse también por categoría, de lo contrario las categorías repiten. Por ejemplo, si agrega otro producto al final de la matriz de datos, terminará con una segunda categoría de Productos después de la primera categoría Personas. – j08691
Acepto el problema con el agrupamiento de categorías. Debe haber una forma de iterar a través de los resultados, agruparlos en una matriz separada por categoría, luego generar la lista de resultados en base a esa matriz. – lukemcd