File tree Expand file tree Collapse file tree 3 files changed +25
-4
lines changed
Expand file tree Collapse file tree 3 files changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -329,4 +329,22 @@ $.each( [
329329 } ) ;
330330} ) ;
331331
332+ asyncTest ( "Selectmenu should reset when its parent form resets" , function ( ) {
333+ expect ( 2 ) ;
334+
335+ var element = $ ( "#speed" ) . selectmenu ( ) ,
336+ widget = element . selectmenu ( "widget" ) ,
337+ initialValue = element . val ( ) ,
338+ form = element . closest ( "form" ) ;
339+
340+ element . val ( "Slower" ) ;
341+ element . selectmenu ( "refresh" ) ;
342+ equal ( $ . trim ( widget . text ( ) ) , "Slower" ) ;
343+ form [ 0 ] . reset ( ) ;
344+ setTimeout ( function ( ) {
345+ equal ( $ . trim ( widget . text ( ) ) , initialValue ) ;
346+ start ( ) ;
347+ } ) ;
348+ } ) ;
349+
332350} ) ;
Original file line number Diff line number Diff line change 1313< div id ="qunit-fixture ">
1414 < div id ="selectmenu-wrap1 " class ="selectmenu-wrap "> </ div >
1515
16- < div id ="selectmenu-wrap2 " class ="selectmenu-wrap ">
16+ < form id ="selectmenu-wrap2 " class ="selectmenu-wrap ">
1717 < label for ="speed "> Select a speed:</ label >
1818 < select name ="speed " id ="speed ">
1919 < option value ="Slower "> Slower</ option >
2222 < option value ="Fast "> Fast</ option >
2323 < option value ="Faster "> Faster</ option >
2424 </ select >
25- </ div >
25+ </ form >
2626
2727 < label for ="number "> Select a number:</ label >
2828 < select name ="number " id ="number ">
Original file line number Diff line number Diff line change 2424 "jquery" ,
2525 "./menu" ,
2626 "../escape-selector" ,
27+ "../form-reset-mixin" ,
2728 "../keycode" ,
2829 "../labels" ,
2930 "../position" ,
3839 }
3940} ( function ( $ ) {
4041
41- return $ . widget ( "ui.selectmenu" , {
42+ return $ . widget ( "ui.selectmenu" , [ $ . ui . formResetMixin , {
4243 version : "@VERSION" ,
4344 defaultElement : "<select>" ,
4445 options : {
@@ -76,6 +77,7 @@ return $.widget( "ui.selectmenu", {
7677
7778 this . _drawButton ( ) ;
7879 this . _drawMenu ( ) ;
80+ this . _bindFormResetHandler ( ) ;
7981
8082 this . _rendered = false ;
8183 this . menuItems = $ ( ) ;
@@ -675,12 +677,13 @@ return $.widget( "ui.selectmenu", {
675677 } ,
676678
677679 _destroy : function ( ) {
680+ this . _unbindFormResetHandler ( ) ;
678681 this . menuWrap . remove ( ) ;
679682 this . button . remove ( ) ;
680683 this . element . show ( ) ;
681684 this . element . removeUniqueId ( ) ;
682685 this . labels . attr ( "for" , this . ids . element ) ;
683686 }
684- } ) ;
687+ } ] ) ;
685688
686689} ) ) ;
You can’t perform that action at this time.
0 commit comments