summaryrefslogtreecommitdiff
path: root/httemplate/elements/select-state.html
diff options
context:
space:
mode:
authorivan <ivan>2008-12-28 18:48:16 +0000
committerivan <ivan>2008-12-28 18:48:16 +0000
commite8783189b8e95a013e7f56c750083832e6c2a198 (patch)
treeec4901131ef5ab7f6f56e4007c4007bc25aa4e41 /httemplate/elements/select-state.html
parent47fb113107c52d76663496eb7b5c06aa20f45978 (diff)
fix browse results for selecting counties (resulting from separating tax classes), also add dropdowns to browse by state and county, RT#4496
Diffstat (limited to 'httemplate/elements/select-state.html')
-rw-r--r--httemplate/elements/select-state.html57
1 files changed, 57 insertions, 0 deletions
diff --git a/httemplate/elements/select-state.html b/httemplate/elements/select-state.html
new file mode 100644
index 000000000..f7ac2c7bf
--- /dev/null
+++ b/httemplate/elements/select-state.html
@@ -0,0 +1,57 @@
+<%doc>
+
+Example:
+
+ include( '/elements/select-state.html',
+ #recommended
+ country => $current_country,
+ state => $current_state,
+
+ #optional
+ prefix => $optional_unique_prefix,
+ onchange => $javascript,
+ disabled => 0, #bool
+ disable_empty => 1, #defaults to 1, disable the empty option
+ empty_label => 'all', #label for empty option
+ disable_countyupdate => 0, #bool - disabled update of the select-state.html
+ );
+
+</%doc>
+
+<SELECT NAME = "<% $pre %>state"
+ ID = "<% $pre %>state"
+ onChange = "<% $onchange %>"
+>
+
+% unless ( $opt{'disable_empty'} ) {
+ <OPTION VALUE=""<% $opt{state} eq '' ? ' SELECTED' : '' %>><% $opt{empty_label} %>
+% }
+
+% foreach my $state ( keys %states ) {
+
+ <OPTION VALUE="<% $state |h %>"<% $state eq $opt{'state'} ? ' SELECTED' : '' %>><% $states{$state} || '(n/a)' %>
+
+% }
+
+
+</SELECT>
+
+<%init>
+
+my %opt = @_;
+foreach my $opt (qw( state country prefix onchange disabled empty_label )) {
+ $opt{$opt} = '' unless exists($opt{$opt}) && defined($opt{$opt});
+}
+
+$opt{'disable_empty'} = 1 unless exists($opt{'disable_empty'});
+
+my $pre = $opt{'prefix'};
+
+my $onchange =
+ ( $opt{'disable_countyupdate'} ? '' : $pre.'state_changed(this); ' ).
+ $opt{'onchange'};
+
+tie my %states, 'Tie::IxHash', states_hash( $opt{'country'} );
+
+</%init>
+