jQuery UI Otomatik Tamamlama'yı belgelerindeki örneklere göre uygulıyorum. Sonuçların sayısını kategori başlığına eklemek istiyorum, bu yüzden "Ürünler" i görüntülemek yerine "Ürünler (3)" görüntüleniyor. _renderMenu işlevinin örnekten değiştirilmesi gerektiğini biliyorum, ancak nasıl değiştirilebileceğini anlamakta zorlanıyorum. Beni doğru yolda başlatan herhangi bir yardım büyük ölçüde takdir edilecektir.jQuery UI Sayım mekanizmasına sahip otomatik tamamlama kategorileri
İşte jQuery UI otomatik tamamlama kategorileri örnek kodudur 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>
başka türlü kategoriler tekrarlamak, yani jQuery UI örnekle bir sorun listesindeki öğeler kategoriye göre de gruplandırılmış gerektiğini düşünüyorum. Örneğin, veri dizisinin sonunda başka bir ürün eklerseniz, ilk Kişi kategorisinden sonra ikinci bir Ürün kategorisiyle sonuçlanırsınız. – j08691
Kategori gruplaması ile ilgili sorun hakkında katılıyorum. Sonuçlar arasında yinelemenin, onları kategoriye göre ayrılmış bir dizide gruplandırmanın ve ardından bu listeye göre sonuç listesini çıkarmanın bir yolu olmalıdır. – lukemcd