将自定义类添加到jQuery UI的ui-autocomplete Combobox Div

Col*_*lin 13 javascript css jquery jquery-ui autocomplete

如何向ui-autocomplete div添加自定义类?我在我的页面上加载了多个自动完成小部件,并且他们的一些下拉菜单需要设置不同的样式,所以我不能只编辑ui-autocomplete类.我正在使用jQuery UI组合框代码(http://jqueryui.com/autocomplete/#combobox),并且通过更改该代码,我想在创建的ui-autocomplete div中添加一个类.

Ram*_*esh 22

$("#auto").autocomplete({
    source: ...
}).autocomplete( "widget" ).addClass( "your_custom_class" );
Run Code Online (Sandbox Code Playgroud)

  • 将类添加到输入,但不添加关联的自动完成列表. (5认同)

小智 15

不好意思推迟了).看看下面的代码.

$(function () {
    $("#auto").autocomplete({
        source: ['aa', 'bb', 'cc', 'dd']
    }).data("ui-autocomplete")._renderItem = function (ul, item) {

        ul.addClass('customClass'); //Ul custom class here

        return $("<li></li>")
        .addClass(item.customClass) //item based custom class to li here
        .append("<a href='#'>" + item.label + "</a>")
        .data("ui-autocomplete-item", item)
        .appendTo(ul);
    };
});
Run Code Online (Sandbox Code Playgroud)


Jon*_*ter 6

只需使用classes参数:

$("#auto").autocomplete({
    classes: {
        "ui-autocomplete": "your-custom-class",
    },
    ...
});
Run Code Online (Sandbox Code Playgroud)

这意味着无论jQuery UI应用于哪个ui-autocomplete类,它都应该适用your-custom-class.

这与任何jQuery UI小部件相关,而不仅仅是自动完成.请参阅文档.

  • 根据文档,这是确定的答案。但需要注意的是,它需要 1.21.1 版本。它似乎不适用于早期版本的自动完成。 (6认同)