Skip to content

Commit 426ecaf

Browse files
committed
Selectmenu: implemented change callback event
1 parent 7e8e542 commit 426ecaf

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

ui/jquery.ui.selectmenu.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)