@@ -364,21 +364,26 @@ $.widget("ui.selectmenu", {
364
364
} , 200 ) ;
365
365
} ,
366
366
destroy : function ( ) {
367
- this . element . removeData ( this . widgetName )
368
- . removeClass ( this . widgetBaseClass + '-disabled' + ' ' + this . namespace + '-state-disabled' )
369
- . removeAttr ( 'aria-disabled' )
370
- . unbind ( ".selectmenu" ) ;
367
+ this . element . removeData ( this . widgetName )
368
+ . removeClass ( this . widgetBaseClass + '-disabled' + ' ' + this . namespace + '-state-disabled' )
369
+ . removeAttr ( 'aria-disabled' )
370
+ . unbind ( ".selectmenu" ) ;
371
371
372
- $ ( window ) . unbind ( ".selectmenu" ) ;
373
- $ ( document ) . unbind ( ".selectmenu" ) ;
372
+ $ ( window ) . unbind ( ".selectmenu" ) ;
373
+ $ ( document ) . unbind ( ".selectmenu" ) ;
374
374
375
375
// unbind click on label, reset its for attr
376
- $ ( 'label[for=' + this . newelement . attr ( 'id' ) + ']' )
377
- . attr ( 'for' , this . element . attr ( 'id' ) )
378
- . unbind ( '.selectmenu' ) ;
379
- this . newelement . remove ( ) ;
380
- // FIXME option.wrapper needs
381
- this . list . remove ( ) ;
376
+ $ ( 'label[for=' + this . newelement . attr ( 'id' ) + ']' )
377
+ . attr ( 'for' , this . element . attr ( 'id' ) )
378
+ . unbind ( '.selectmenu' ) ;
379
+
380
+ if ( o . wrapperElement ) {
381
+ this . newelement . find ( o . wrapperElement ) . remove ( ) ;
382
+ this . list . find ( o . wrapperElement ) . remove ( ) ;
383
+ } else {
384
+ this . newelement . remove ( ) ;
385
+ this . list . remove ( ) ;
386
+ }
382
387
this . element . show ( ) ;
383
388
384
389
// call widget destroy function
0 commit comments