JQuery-UI selectmenu小部件有一些扩展方法,可用于自定义下拉选择菜单的呈现/样式。 从 api docs ,可以使用以下小部件扩展方法来自定义菜单: - _renderItem(ul,item) - _renderMenu(ul,items)
我想要实现的是,仅针对selectmenu小部件的一个实例覆盖上述扩展方法,而不是全局级别。 widget factory docs确实有关于扩展窗口小部件的特定实例的示例(示例位于此页面的底部),但在将其应用于selectmenu扩展方法方面没有任何成功。 我们非常感谢您对此问题的任何见解。
答案 0 :(得分:2)
$('select-menu-id').selectmenu(options).data("ui-selectmenu")._renderItem = function(event, ui) {
// override with custom logic for rendering each select option
}
使用@Ben Olson在本文中自定义自动完成小部件的方式: Customize the jQuery UI AutoComplete Drop Down Select Menu
答案 1 :(得分:1)
不是使用.data('ui-selectmenu')
来获取对象的访问权限(如@kashif_shamaz的答案所示),而是API provides the instance()
method来公开对象。好处是这种方法是API的一部分,因此与通过data()
方法的基于字符串的访问相比,在未来潜在的变化期间应该更加稳定和更好地记录。
使用如下:
$('#select-menu-id').selectmenu('instance')._renderItem = function(event, ui) {
// override with custom logic for rendering each select option
}