@@ -60,8 +60,8 @@ $.widget( "ui.selectmenu", {
6060 self . element . bind ( 'click.selectmenu' , function ( ) {
6161 self . newelement . focus ( ) ;
6262 return false ;
63- } ) ;
64- // .hide();
63+ } )
64+ . hide ( ) ;
6565
6666 // create button
6767 self . newelement = $ ( '<a />' , {
@@ -153,7 +153,8 @@ $.widget( "ui.selectmenu", {
153153 } ) ;
154154 } ,
155155
156- refresh : function ( ) {
156+ // TODO update the value option
157+ refresh : function ( ) {
157158 var self = this ,
158159 options = this . options ;
159160
@@ -179,15 +180,21 @@ $.widget( "ui.selectmenu", {
179180 . data ( 'element.selectelemenu' , self . element )
180181 . menu ( {
181182 select : function ( event , ui ) {
182- var item = ui . item . data ( "item.selectmenu" ) ;
183+ var flag = false ,
184+ item = ui . item . data ( "item.selectmenu" ) ;
185+
186+ if ( item . index != self . element [ 0 ] . selectedIndex ) flag = true ;
187+
183188 self . _setSelected ( event , item ) ;
184- item . element = $ ( self . items [ item . index ] ) ;
189+ item . element = self . items [ item . index ] ;
185190 self . _trigger ( "select" , event , { item : item } ) ;
191+
186192 self . close ( event , true ) ;
193+
194+ if ( flag ) self . _trigger ( "change" , event , { item : item } ) ;
187195 } ,
188196 focus : function ( event , ui ) {
189- var item = ui . item . data ( "item.selectmenu" ) ;
190- self . _trigger ( "focus" , event , { item : item } ) ;
197+ self . _trigger ( "focus" , event , { item : ui . item . data ( "item.selectmenu" ) } ) ;
191198 }
192199 } )
193200 . bind ( {
0 commit comments