自动完成._renderItem并将一个Class添加到包装器

Con*_*eak 8 jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

在这里关闭示例http://jqueryui.com/demos/autocomplete/#custom-data 我想知道如何ul在使用时向包装器添加样式_renderItem():

    .data( "autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
            .appendTo( ul );
    };
Run Code Online (Sandbox Code Playgroud)

And*_*ker 26

这将是一个简单的方法,进入open事件:

$("#auto").autocomplete({
    source: /* ... */,
    open: function () {
        $(this).data("autocomplete").menu.element.addClass("my_class");
    }
});
Run Code Online (Sandbox Code Playgroud)

jQueryUI> = 1.9

$("#auto").autocomplete({
    source: /* ... */,
    open: function () {
        $(this).data("uiAutocomplete").menu.element.addClass("my_class");
    }
});
Run Code Online (Sandbox Code Playgroud)

menu 是自动完成使用的内部窗口小部件.

示例: http ://jsfiddle.net/bx8Ye/

  • 只需对这些版本使用`$(this).data('uiAutocomplete')`而不是'autocomplete'. (2认同)