Example:
- include( '/elements/select-country.html',
+ <& /elements/select-country.html,
#recommended
country => $current_country,
empty_label => 'all', #label for empty option
disable_stateupdate => 0, #bool - disabled update of the select-state.html
style => [ 'attribute:value', 'another:value' ],
- );
+
+ state_disable_empty => 1, #defaults to 1, disable the state empty option
+ state_empty_label => 'all', #label for state empty option
+ &>
</%doc>
+% #maybe this makes more sense in select-state.html?
+% # (county update is in select-county... and we wouldn't have to pass "state_"
+% # options)
% unless ( $opt{'disable_stateupdate'} ) {
<% include('/elements/xmlhttp.html',
}
function <% $pre %>country_changed(what, callback) {
+
+ what.form.<% $pre %>state.disabled = 'disabled';
country = what.options[what.selectedIndex].value;
// add the new states
var statesArray = eval('(' + states + ')' );
+% unless ( $opt{'disable_empty'} ) {
+ statesArray.unshift('', '');
+% }
+
for ( var s = 0; s < statesArray.length; s=s+2 ) {
var stateLabel = statesArray[s+1];
if ( stateLabel == "" )
- stateLabel = '(n/a)';
+ stateLabel = <% $opt{state_empty_label} || '(n/a)' |js_string %>;
opt(what.form.<% $pre %>state, statesArray[s], stateLabel);
}
+
+ what.form.<% $pre %>state.disabled = '';
//run the callback
- if ( callback != null )
+ if ( callback != null ) {
callback();
+ } else {
+ <% $pre %>state_changed(what.form.<% $pre %>state);
+ }
}
// go get the new states
<OPTION VALUE="<% $country |h %>"
<% $country eq $opt{'country'} ? ' SELECTED' : '' %>
- ><% code2country($country). " ($country)" %>
+ ><% FS::geocode_Mixin->code2country($country). " ($country)" %>
% }
my @all_countries = (
sort { ($b eq $default) <=> ($a eq $default)
- or code2country($a) cmp code2country($b)
+ or FS::geocode_Mixin->code2country($a) cmp FS::geocode_Mixin->code2country($b)
}
map { $_->country }
qsearch({