From 4dea11cc65e33b422a1fb59c03ee6fb8265577af Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Thu, 9 Jun 2011 23:23:27 +0200 Subject: [PATCH] Do not change text field to list field once a country is selected using the autocomplete; factorizes code. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- htdocs/javascript/search.js | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/htdocs/javascript/search.js b/htdocs/javascript/search.js index 9492128..4347c33 100644 --- a/htdocs/javascript/search.js +++ b/htdocs/javascript/search.js @@ -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) { -- 2.1.4