ドキュメントのカテゴリの例に基づいてjQuery UIオートコンプリートを実装しています。 Categoriesヘッダーに結果の数を追加したいので、 "Products"を表示する代わりに "Products(3)"と表示します。私は、_renderMenu関数を例から変更する必要があることを知っていますが、変更方法の理解には問題があります。私を正しい道に導く助けがあれば、大いに感謝します。jQuery UIカウントメカニズムを持つオートコンプリートカテゴリ
ここでjQueryのUIオートコンプリートカテゴリからのコード例であるがデモ:
<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>
私はjQueryのUIの例の一つの問題は、それ以外のカテゴリが繰り返して、リスト内の項目をカテゴリ別にも分類されなければならないことだと思います。たとえば、データ配列の最後に別の商品を追加すると、最初の[人物]カテゴリの後に2番目の商品カテゴリが表示されます。 – j08691
カテゴリのグループ化に関する問題に同意します。結果を反復し、それらをカテゴリ別にグループ化し、その配列に基づいて結果リストを出力する方法が必要です。 – lukemcd