File tree 3 files changed +25
-4
lines changed
3 files changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -329,4 +329,22 @@ $.each( [
329
329
} ) ;
330
330
} ) ;
331
331
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
+
332
350
} ) ;
Original file line number Diff line number Diff line change 13
13
< div id ="qunit-fixture ">
14
14
< div id ="selectmenu-wrap1 " class ="selectmenu-wrap "> </ div >
15
15
16
- < div id ="selectmenu-wrap2 " class ="selectmenu-wrap ">
16
+ < form id ="selectmenu-wrap2 " class ="selectmenu-wrap ">
17
17
< label for ="speed "> Select a speed:</ label >
18
18
< select name ="speed " id ="speed ">
19
19
< option value ="Slower "> Slower</ option >
22
22
< option value ="Fast "> Fast</ option >
23
23
< option value ="Faster "> Faster</ option >
24
24
</ select >
25
- </ div >
25
+ </ form >
26
26
27
27
< label for ="number "> Select a number:</ label >
28
28
< select name ="number " id ="number ">
Original file line number Diff line number Diff line change 24
24
"jquery" ,
25
25
"./menu" ,
26
26
"../escape-selector" ,
27
+ "../form-reset-mixin" ,
27
28
"../keycode" ,
28
29
"../labels" ,
29
30
"../position" ,
38
39
}
39
40
} ( function ( $ ) {
40
41
41
- return $ . widget ( "ui.selectmenu" , {
42
+ return $ . widget ( "ui.selectmenu" , [ $ . ui . formResetMixin , {
42
43
version : "@VERSION" ,
43
44
defaultElement : "<select>" ,
44
45
options : {
@@ -76,6 +77,7 @@ return $.widget( "ui.selectmenu", {
76
77
77
78
this . _drawButton ( ) ;
78
79
this . _drawMenu ( ) ;
80
+ this . _bindFormResetHandler ( ) ;
79
81
80
82
this . _rendered = false ;
81
83
this . menuItems = $ ( ) ;
@@ -675,12 +677,13 @@ return $.widget( "ui.selectmenu", {
675
677
} ,
676
678
677
679
_destroy : function ( ) {
680
+ this . _unbindFormResetHandler ( ) ;
678
681
this . menuWrap . remove ( ) ;
679
682
this . button . remove ( ) ;
680
683
this . element . show ( ) ;
681
684
this . element . removeUniqueId ( ) ;
682
685
this . labels . attr ( "for" , this . ids . element ) ;
683
686
}
684
- } ) ;
687
+ } ] ) ;
685
688
686
689
} ) ) ;
You can’t perform that action at this time.
0 commit comments