@@ -59,6 +59,7 @@ Gaia5FPRO.generate_selects = function(random_id) {
59
59
var wrapper_tag = params [ 'wrapper_tag' ]
60
60
var input_class = params [ 'input_class' ]
61
61
var select_class = params [ 'select_class' ]
62
+ var city_zipcodes = { }
62
63
63
64
city . addClass ( select_class )
64
65
dist . addClass ( select_class )
@@ -76,6 +77,11 @@ Gaia5FPRO.generate_selects = function(random_id) {
76
77
'text' : text
77
78
} ) . attr ( 'data-zipcode' , dist_obj . zipcode ) ) ;
78
79
} )
80
+ if ( city . attr ( 'data-dist-value' ) ) {
81
+ dist . val ( city . attr ( 'data-dist-value' ) )
82
+ dist . trigger ( 'change' )
83
+ city . removeAttr ( 'data-dist-value' )
84
+ }
79
85
} ) ;
80
86
81
87
dist . on ( 'reset' , function ( ) {
@@ -99,6 +105,9 @@ Gaia5FPRO.generate_selects = function(random_id) {
99
105
'text' : city_name ,
100
106
'selected' : selected
101
107
} ) ) ;
108
+ cell . dists . forEach ( function ( data_dist ) {
109
+ city_zipcodes [ data_dist . zipcode ] = { city : city_name , dist : data_dist . name }
110
+ } )
102
111
// assign default value
103
112
if ( selected ) {
104
113
city . trigger ( 'change' ) ;
@@ -111,6 +120,17 @@ Gaia5FPRO.generate_selects = function(random_id) {
111
120
}
112
121
}
113
122
} ) ;
123
+ zipcode . on ( 'change' , function ( ) {
124
+ tmp = city_zipcodes [ zipcode . val ( ) ]
125
+ if ( tmp && tmp . city ) {
126
+ city . val ( tmp . city )
127
+ dist_value = tmp . dist
128
+ if ( dist_value ) {
129
+ city . attr ( 'data-dist-value' , dist_value )
130
+ }
131
+ city . trigger ( 'change' )
132
+ }
133
+ } )
114
134
115
135
selects . append ( $ ( '<' + wrapper_tag + '>' ) . addClass ( 'gaia-cities' ) . append ( city ) ) ;
116
136
selects . append ( $ ( '<' + wrapper_tag + '>' ) . addClass ( 'gaia-dists' ) . append ( dist ) ) ;
0 commit comments