diff options
Diffstat (limited to 'httemplate/edit/cust_main/select-county.html')
-rw-r--r-- | httemplate/edit/cust_main/select-county.html | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/httemplate/edit/cust_main/select-county.html b/httemplate/edit/cust_main/select-county.html new file mode 100644 index 000000000..70a8f9477 --- /dev/null +++ b/httemplate/edit/cust_main/select-county.html @@ -0,0 +1,87 @@ +<% + + my %opt = @_; + foreach my $opt (qw( county state country prefix onchange disabled )) { + $opt{$_} = '' unless exists($opt{$_}) && defined($opt{$_}); + } + + my $sql = "SELECT COUNT(*) FROM cust_main_county". + " WHERE county IS NOT NULL AND county != ''"; + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + my $countyflag = $sth->fetchrow_arrayref->[0]; + +%> + +<% if ( $countyflag ) { %> + + <%= include('/elements/xmlhttp.html', $p.'misc/counties.cgi', $opt{'prefix'}. 'get_counties' ) %> + + <SCRIPT TYPE="text/javascript"> + + function opt(what,value,text) { + var optionName = new Option(text, value, false, false); + var length = what.length; + what.options[length] = optionName; + } + + function <%= $opt{'prefix'} %>state_changed(what, callback) { + + state = what.options[what.selectedIndex].text; + country = what.form.<%= $opt{'prefix'} %>country.options[what.form.<%= $opt{'prefix'} %>country.selectedIndex].text; + + function <%= $opt{'prefix'} %>update_counties(counties) { + + // blank the current county list + for ( var i = what.form.<%= $opt{'prefix'} %>county.length; i >= 0; i-- ) + what.form.<%= $opt{'prefix'} %>county.options[i] = null; + + // add the new counties + var countiesArray = eval('(' + counties + ')' ); + for ( var s = 0; s < countiesArray.length; s++ ) { + var countyLabel = countiesArray[s]; + if ( countyLabel == "" ) + countyLabel = '(n/a)'; + opt(what.form.<%= $opt{'prefix'} %>county, countiesArray[s], countyLabel); + } + + //run the callback + if ( callback != null ) + callback(); + } + + // go get the new counties + <%= $opt{'prefix'} %>get_counties( state, country, <%= $opt{'prefix'} %>update_counties ); + + } + + </SCRIPT> + + <SELECT NAME="<%= $opt{'prefix'} %>county" onChange="<%= $opt{'onchange'} %>" <%= $opt{'disabled'} %>> + + <% foreach my $county ( + sort + map { $_->county } + qsearch('cust_main_county', { 'state' => $opt{'state'}, + 'country' => $opt{'country'}, + } + ) + ) { + %> + + <OPTION VALUE="<%= $county %>"<%= $county eq $opt{'county'} ? ' SELECTED' : '' %>><%= $county %> + + <% } %> + + </SELECT> + +<% } else { %> + + <SCRIPT TYPE="text/javascript"> + function <%= $opt{'prefix'} %>state_changed(what) { + } + </SCRIPT> + + <INPUT TYPE="hidden" NAME="<%= $opt{'prefix'} %>county" VALUE="<%= $opt{'county'} %>"> + +<% } %> |