如何向ui-autocomplete div添加自定义类?我在我的页面上加载了多个自动完成小部件,并且他们的一些下拉菜单需要设置不同的样式,所以我不能只编辑ui-autocomplete类。我正在使用jQuery UI组合框代码(http://jqueryui.com/autocomplete/#combobox),并且通过更改代码,我想在创建的ui-autocomplete div中添加一个类。
答案 0 :(得分:21)
$("#auto").autocomplete({
source: ...
}).autocomplete( "widget" ).addClass( "your_custom_class" );
答案 1 :(得分: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);
};
});
答案 2 :(得分:6)
只需使用classes
参数:
$("#auto").autocomplete({
classes: {
"ui-autocomplete": "your-custom-class",
},
...
});
这意味着只要jQuery UI应用ui-autocomplete
类,它也应该应用your-custom-class
。
这与任何jQuery UI小部件相关,而不仅仅是自动完成。请参阅documentation。
答案 3 :(得分:0)
使用此方法将自定义类添加到下拉框
_renderMenu: function( ul, items ) {
var that = this;
$.each( items, function( index, item ) {
that._renderItemData( ul, item );
});
$( ul ).find( "li:odd" ).addClass( "odd" );
}
答案 4 :(得分:-2)
通过遵循documentation并至少将我的jquery版本更新到v1.12.4(jquery classes options要求),然后相应地更新jquery-ui版本(v1),我设法使其正常运行.12.1)