v4 style
[freeside.git] / httemplate / elements / select-county.html
index 6d498be..cce085f 100644 (file)
@@ -2,7 +2,7 @@
 
 Example:
 
 include( '/elements/select-county.html',
<& /elements/select-county.html,
     #recommended
     country    => $current_country,
     state      => $current_state,
@@ -12,10 +12,10 @@ Example:
     prefix        => $optional_unique_prefix,
     onchange      => $javascript,
     disabled      => 0, #bool
-    disable_empty => 1, #defaults to 1, disable the empty option
+    disable_empty => 1, #defaults to 1, set to 0 to disable the empty option
     empty_label   => 'all', #label for empty option
     style         => [ 'attribute:value', 'another:value' ],
-  );
+  &>
 
 </%doc>
 % if ( $countyflag ) { 
@@ -36,6 +36,8 @@ Example:
   
     function <% $pre %>state_changed(what, callback) {
 
+      what.form.<% $pre %>county.disabled = 'disabled';
+
       state = what.options[what.selectedIndex].value;
       country = what.form.<% $pre %>country.options[what.form.<% $pre %>country.selectedIndex].value;
   
@@ -44,6 +46,10 @@ Example:
         // blank the current county list
         for ( var i = what.form.<% $pre %>county.length; i >= 0; i-- )
             what.form.<% $pre %>county.options[i] = null;
+
+%       unless ( $opt{disable_empty} ) {
+          opt( what.form.<% $pre %>county, '', <% $opt{empty_label} |js_string %> );
+%       }
   
         // add the new counties
         var countiesArray = eval('(' + counties + ')' );
@@ -58,14 +64,20 @@ Example:
 
         if ( countiesArray.length > 1 ) { 
           what.form.<% $pre %>county.style.display = '';
-          //countyFormLabel.style.visibility = 'visible';
-          countyFormLabel.style.display = '';
+          if ( countyFormLabel )  {
+            //countyFormLabel.style.visibility = 'visible';
+            countyFormLabel.style.display = '';
+          }
         } else {
           what.form.<% $pre %>county.style.display = 'none';
-          //countyFormLabel.style.visibility = 'hidden';
-          countyFormLabel.style.display = 'none';
+          if ( countyFormLabel ) {
+            //countyFormLabel.style.visibility = 'hidden';
+            countyFormLabel.style.display = 'none';
+          }
         }
 
+        what.form.<% $pre %>county.disabled = '';
+
         //run the callback
         if ( callback != null )  {
           callback();