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
}
我知道有一个选项可以通过扩展选择菜单中的 _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
}