@@ -60,8 +60,8 @@ $.widget( "ui.selectmenu", {
60
60
self . element . bind ( 'click.selectmenu' , function ( ) {
61
61
self . newelement . focus ( ) ;
62
62
return false ;
63
- } ) ;
64
- // .hide();
63
+ } )
64
+ . hide ( ) ;
65
65
66
66
// create button
67
67
self . newelement = $ ( '<a />' , {
@@ -153,7 +153,8 @@ $.widget( "ui.selectmenu", {
153
153
} ) ;
154
154
} ,
155
155
156
- refresh : function ( ) {
156
+ // TODO update the value option
157
+ refresh : function ( ) {
157
158
var self = this ,
158
159
options = this . options ;
159
160
@@ -179,15 +180,21 @@ $.widget( "ui.selectmenu", {
179
180
. data ( 'element.selectelemenu' , self . element )
180
181
. menu ( {
181
182
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
+
183
188
self . _setSelected ( event , item ) ;
184
- item . element = $ ( self . items [ item . index ] ) ;
189
+ item . element = self . items [ item . index ] ;
185
190
self . _trigger ( "select" , event , { item : item } ) ;
191
+
186
192
self . close ( event , true ) ;
193
+
194
+ if ( flag ) self . _trigger ( "change" , event , { item : item } ) ;
187
195
} ,
188
196
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" ) } ) ;
191
198
}
192
199
} )
193
200
. bind ( {
0 commit comments