2013-10-18 77 views

回答

18
$("#auto").autocomplete({ 
    source: ... 
}).autocomplete("widget").addClass("your_custom_class"); 
+4

之後立即添加了一個類到輸入,但沒有添加關聯的自動完成列表。 – user1032531

+1

問題涉及需要樣式的「下拉式」,這隻會修改輸入。 – karmasponge

+0

謝謝你的幫助 –

0

使用此方法添加自定義類下拉框中

_renderMenu: function(ul, items) { 
    var that = this; 
    $.each(items, function(index, item) { 
     that._renderItemData(ul, item); 
    }); 
    $(ul).find("li:odd").addClass("odd"); 
} 
+0

我在代碼中添加了精確的代碼片段,沒有發生任何事情。這種方法何時應該運行?我在_create:方法 – Colin

10

對不起,延遲)。看看下面的代碼。

$(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); 
    }; 
}); 
4

只需使用classes參數:

$("#auto").autocomplete({ 
    classes: { 
     "ui-autocomplete": "your-custom-class", 
    }, 
    ... 
}); 

這意味着,無論jQuery UI的應用ui-autocomplete類也應該適用your-custom-class

這與任何jQuery UI小部件有關,而不僅僅是Autocomplete。請參閱documentation