jQuery UI 1.8.17 and selectmenu

烂漫一生 提交于 2019-12-04 11:36:58

I had the same problems. But now I solved it:

1) Take the JavaScript-Selectmenu Source-Code from: http://view.jqueryui.com/selectmenu/demos/selectmenu/default.html

It is a version from jQuery UI 1.9. So because 1.8.17 does not know _super, change _super to the old one:

//this._super( key, value );
$.Widget.prototype._setOption.call (this, key, value);

In the function "drawmenu" change "select" to "selected"
(this.menu.menu({ selected: )

2) Enhance jquery.ui.widget.js with the following functions from 1.9m5 (_delay from 1.9m6): _bind, _delay.

add "this.bindings = $();" to _createWidget.

add "this.bindings.unbind( "." + this.widgetName );" to destroy.

3) Take this css and include it:
.ui-selectmenu-menu { padding: 0; margin: 0; position:absolute; top: 0; display: none; }
.ui-selectmenu-menu .ui-menu .ui-menu-item a { padding: 0.3em 1em 0.3em 1em; }
.ui-selectmenu-menu .ui-menu li.ui-state-disabled { padding: 0.3em 1em 0.3em 1em; }
.ui-selectmenu-menu .ui-menu li.ui-selectmenu-optgroup { font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; }
.ui-selectmenu-open { display: block; }
.ui-selectmenu-button span.ui-icon { right: 0.5em; left: auto; }
.ui-selectmenu-button span.ui-button-text { text-align: left; padding: 0.4em 2.1em 0.4em 1em }

4) jQuery UI 1.8.17 has a menu-Widget. It's part of the autocomplete. Extract it from there and put it in a new file.

Hope this helps
Wolfgang

update for those interested:

https://github.com/fnagel/jquery-ui

was recently updated and the code works with jQuery 1.10.1 and jQuery UI 1.10.3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!