4

catcompleteのドキュメントを見つけようとしました。_renderItemの使い方のマニュアルが必要です。私はこのhttp://jqueryui.com/autocomplete/#categoriesを見つけましたが、それについては_renderMenuの単なる例については言及されていないようです

    _renderMenu: function( ul, items ) {
        var that = this,
            currentCategory = "";
        $.each( items, function( index, item ) {
            if ( item.category != currentCategory ) {
                ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
                currentCategory = item.category;
            }
            that._renderItemData( ul, item );
        });
    }
4

1 に答える 1

9

catcompleteは単なる例であり、残念ながらjQuery UIの一部ではないため、_renderItemまたはのドキュメントはありませんrenderMenu。これをjQueryソースコードの一部と考えてください。ただし、効果はソースコードから非常に簡単に再現できます。

catcompleteを使用するには、次のようにalabelcategoryvalueの両方がに渡されることを確認する必要がありますcatcomplete

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" }
];

カテゴリとして空白の文字列を含むアイテムは、カテゴリに入れられず、標準のオートコンプリートと同じように残されます。カテゴリを指定されたものは、そのカテゴリの下にサブメニューが表示されます。

ここでフィドル(jQueryの例の)


各アイテムにクラスを追加するには、ウィジェット.addClass(item.category)のコードの最後の行の最後に追加するだけです。catcomplete

that._renderItemData( ul, item ).addClass(item.category);

ここでフィドルを更新

于 2012-12-04T10:39:56.230 に答える