jQuery UI Selectmenu:自定义按钮视图

jQuery UI Selectmenu: customize button view

我知道有一个选项可以通过扩展选择菜单中的 _renderItem 功能来自定义选项视图。有没有办法像下面的选择菜单选项一样放置图标 fo buttonText

我搜索了 jquery 个示例,但没有找到答案:https://jqueryui.com/selectmenu/#custom_render

基本上,我发现在选择了一些选项 (.ui-menu-item) 之后,selectmenu 会调用 _setText 函数,并传递 this.buttonText 元素和所选选项中的文本,例如像 this.element.find('option:selected').text().

也许这不是设计小部件的好方法,因为据我了解,从多个地方调用的 _setText 总是与 this.buttonText 元素一起使用。

因此,为了防止重写 _setText 调用的每个方法,我重写了 _setText,例如:

_setText: function(element, value){
  if(element == this.buttonText){
    this._setButtonText();
  } else {
    this._superApply(element, value);
  }
},
_setButtonText: function(){
  // your logic
}