Permalink
Browse files

Selectmenu: Handle form resets

Fixes #12236
Ref gh-1550
  • Loading branch information...
jzaefferer committed Oct 26, 2015
1 parent 4e13860 commit 39853fda45a409e9dc47d7358fbd9b03ad1d33b5
Showing with 25 additions and 4 deletions.
  1. +18 −0 tests/unit/selectmenu/core.js
  2. +2 −2 tests/unit/selectmenu/selectmenu.html
  3. +5 −2 ui/widgets/selectmenu.js
@@ -329,4 +329,22 @@ $.each( [
} );
} );
asyncTest( "Selectmenu should reset when its parent form resets", function() {
expect( 2 );
var element = $( "#speed" ).selectmenu(),
widget = element.selectmenu( "widget" ),
initialValue = element.val(),
form = element.closest( "form" );
element.val( "Slower" );
element.selectmenu( "refresh" );
equal( $.trim( widget.text() ), "Slower" );
form[ 0 ].reset();
setTimeout( function() {
equal( $.trim( widget.text() ), initialValue );
start();
} );
} );
} );
@@ -13,7 +13,7 @@
<div id="qunit-fixture">
<div id="selectmenu-wrap1" class="selectmenu-wrap"></div>
<div id="selectmenu-wrap2" class="selectmenu-wrap">
<form id="selectmenu-wrap2" class="selectmenu-wrap">
<label for="speed">Select a speed:</label>
<select name="speed" id="speed">
<option value="Slower">Slower</option>
@@ -22,7 +22,7 @@
<option value="Fast">Fast</option>
<option value="Faster">Faster</option>
</select>
</div>
</form>
<label for="number">Select a number:</label>
<select name="number" id="number">
View
@@ -24,6 +24,7 @@
"jquery",
"./menu",
"../escape-selector",
"../form-reset-mixin",
"../keycode",
"../labels",
"../position",
@@ -38,7 +39,7 @@
}
}( function( $ ) {
return $.widget( "ui.selectmenu", {
return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
version: "@VERSION",
defaultElement: "<select>",
options: {
@@ -76,6 +77,7 @@ return $.widget( "ui.selectmenu", {
this._drawButton();
this._drawMenu();
this._bindFormResetHandler();
this._rendered = false;
this.menuItems = $();
@@ -675,12 +677,13 @@ return $.widget( "ui.selectmenu", {
},
_destroy: function() {
this._unbindFormResetHandler();
this.menuWrap.remove();
this.button.remove();
this.element.show();
this.element.removeUniqueId();
this.labels.attr( "for", this.ids.element );
}
} );
} ] );
} ) );

0 comments on commit 39853fd

Please sign in to comment.