I had the same problems. But now I decided:
1) Take the JavaScript-Selectmenu source code from: http://view.jqueryui.com/selectmenu/demos/selectmenu/default.html
This is the version from jQuery UI 1.9. Since 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 "drawmenu" function, change "select" to "selected"
(this.menu.menu ({selected :)
2) Improve 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 enable 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; upholstery: 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 widget menu. This is part of autocomplete. Extract it from there and put it in a new file.
Hope this helps Wolfgang
source share