diff options
author | Felix Nagel <info@felixnagel.com> | 2011-09-29 00:11:18 +0200 |
---|---|---|
committer | Felix Nagel <info@felixnagel.com> | 2011-09-29 00:11:18 +0200 |
commit | a438ec3b7d54f5b557208c2af4240d1daca06f5d (patch) | |
tree | 863285e8410372c192e2506cd767ff6a41acbaca /ui/jquery.ui.selectmenu.js | |
parent | c0ea81a2a82ca446f8b84c0e7c0df73fbd00a3f9 (diff) | |
download | jquery-ui-a438ec3b7d54f5b557208c2af4240d1daca06f5d.tar.gz jquery-ui-a438ec3b7d54f5b557208c2af4240d1daca06f5d.zip |
Selectmenu: fixed disabled status of the widget (keyboard control)
Diffstat (limited to 'ui/jquery.ui.selectmenu.js')
-rw-r--r-- | ui/jquery.ui.selectmenu.js | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index e7c04e234..edf3df1be 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -313,17 +313,21 @@ $.widget( "ui.selectmenu", { }, _renderItem: function( ul, item) { - return $( "<li />" ) - .addClass( ( item.disabled ) ? 'ui-state-disabled' : '' ) - .data( "item.selectmenu", item ) - .append( $( "<a />", { + var li = $( "<li />" ).data( "item.selectmenu", item ); + if ( item.disabled ) { + li.addClass( 'ui-state-disabled' ).text( item.label ); + } else { + li.append( $( "<a />", { text: item.label, href: '#', click: function( event ) { event.preventDefault(); } }) - ).appendTo( ul ); + ); + } + + return li.appendTo( ul ); }, _move: function( key, event ) { @@ -364,8 +368,10 @@ $.widget( "ui.selectmenu", { this.newelement.button( "option", "disabled", value ); if ( value ) { this.element.attr( "disabled", "disabled" ); + this.newelement.attr( "tabindex", -1 ); } else { this.element.removeAttr( "disabled" ); + this.newelement.attr( "tabindex", 1 ); } this.list.attr( "aria-disabled", value ); this.close(); |