diff options
Diffstat (limited to 'ui/widgets/selectmenu.js')
-rw-r--r-- | ui/widgets/selectmenu.js | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ui/widgets/selectmenu.js b/ui/widgets/selectmenu.js index 79e1eacc9..c80e39f60 100644 --- a/ui/widgets/selectmenu.js +++ b/ui/widgets/selectmenu.js @@ -354,7 +354,12 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { if ( item.disabled ) { this._addClass( li, null, "ui-state-disabled" ); } - this._setText( wrapper, item.label ); + + if ( item.hidden ) { + li.prop( "hidden", true ); + } else { + this._setText( wrapper, item.label ); + } return li.append( wrapper ).appendTo( ul ); }, @@ -658,10 +663,6 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { var that = this, data = []; options.each( function( index, item ) { - if ( item.hidden ) { - return; - } - data.push( that._parseOption( $( item ), index ) ); } ); this.items = data; @@ -675,6 +676,7 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { index: index, value: option.val(), label: option.text(), + hidden: optgroup.prop( "hidden" ) || option.prop( "hidden" ), optgroup: optgroup.attr( "label" ) || "", disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" ) }; |