Sto implementando il completamento automatico dell'interfaccia utente jQuery in base all'esempio di categorie nella documentazione. Vorrei aggiungere il numero di risultati all'intestazione Categorie, quindi anziché visualizzare "Prodotti" visualizza "Prodotti (3)". So che la funzione _renderMenu deve essere modificata dall'esempio, ma ho difficoltà a capire come può essere modificata. Qualsiasi aiuto che mi avvii sulla strada giusta sarebbe molto apprezzato.jQuery UI Completamento automatico categorie con meccanismo di conteggio
Ecco il codice di esempio da jQuery UI completamento automatico Categorie Demo:
<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>
penso che un problema con questo esempio jQuery UI è che gli elementi della lista devono essere raggruppati anche per categoria, altrimenti le categorie ripetono. Ad esempio, se aggiungi un altro prodotto alla fine dell'array di dati, ti ritroverai con una seconda categoria di prodotti dopo la prima categoria di persone. – j08691
Accetto il problema con il raggruppamento di categorie. Deve esserci un modo per scorrere i risultati, raggrupparli in un array separato per categoria, quindi generare l'elenco dei risultati basato su quell'array. – lukemcd