Do not change text field to list field once a country is selected using the autocompl...
authorStéphane Jacob <sj@m4x.org>
Thu, 9 Jun 2011 21:23:27 +0000 (23:23 +0200)
committerStéphane Jacob <sj@m4x.org>
Thu, 9 Jun 2011 21:24:42 +0000 (23:24 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
htdocs/javascript/search.js

index 9492128..4347c33 100644 (file)
@@ -171,28 +171,24 @@ function select_autocomplete(name)
         }
     }
 
-    // When changing country or locality, open next address component.
-    if (field_name == 'country' || field_name == 'locality') {
+    // When changing country, locality or school, open next address component.
+    if (field_name == 'country' || field_name == 'locality' || field_name == 'school') {
         return function(i) {
             if (i.extra[0] < 0) {
                 cancel_autocomplete(name, field_name);
                 i.extra[1] = '';
             }
-            $("[name='" + field_name + "']").parent().load(baseurl + 'list/' + field_name, function() {
-                $("select[name='" + field_name + "']").attr('value', i.extra[1]);
-            });
-            changeAddressComponents(field_name, i.extra[1]);
-        }
-    }
 
-    if (field_name == 'school')
-        return function(i) {
-            if (i.extra[0] < 0) {
-                cancel_autocomplete('school_text', 'school');
-                i.extra[1] = '';
+            if (field_name == 'school') {
+                changeSchool(i.extra[1], '');
+            } else {
+                changeAddressComponents(field_name, i.extra[1]);
             }
-            changeSchool(i.extra[1], '');
+
+            $(".autocomplete_target[name='" + field_name + "']").attr('value', i.extra[1]);
+            $(".autocomplete[name='" + name + "']").addClass('hidden_valid');
         }
+    }
 
     // change field in list and display text field as valid
     return function(i) {