X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fselect-county.html;h=f72eb6a7361d64cc22d3d7e050a3247e90a996d5;hb=0f12bb525e362f0eb97085079c3046c4bf2f6e64;hp=6d498be0a6dc5e4e808d79e110384a4bfa777fa7;hpb=624b2d44625f69d71175c3348cae635d580c890b;p=freeside.git

diff --git a/httemplate/elements/select-county.html b/httemplate/elements/select-county.html
index 6d498be0a..f72eb6a73 100644
--- a/httemplate/elements/select-county.html
+++ b/httemplate/elements/select-county.html
@@ -12,7 +12,7 @@ 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' ],
   );
@@ -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();