X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fsearch.js;h=2c3c1c3e29845fbae3ead0eab39319aca4f2b5ef;hb=1c969105bda7b85719123c356e7fdc86859eaaca;hp=feca64bc5ae4abcaae2de3f34c61398305824c4a;hpb=4aab50612c8e62a391df9a274e37b1e51bd240e9;p=platal.git diff --git a/htdocs/javascript/search.js b/htdocs/javascript/search.js index feca64b..2c3c1c3 100644 --- a/htdocs/javascript/search.js +++ b/htdocs/javascript/search.js @@ -21,7 +21,7 @@ // {{{ Page initialization var baseurl = $.plURL('search/'); -var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'locality', 'sublocality'); +var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'locality', 'postal_code'); var address_types_count = address_types.length; function load_advanced_search(request) @@ -41,14 +41,11 @@ function load_advanced_search(request) $('.autocomplete').change(function() { $(this).removeClass('hidden_valid'); }); if (request['country']) { - $("[name='country']").parent().load(baseurl + 'list/country', function() { - $("select[name='country']").attr('value', request['country']); - }); setAddress(0, 1, new Array(request['country'], request['administrative_area_level_1'], request['administrative_area_level_2'], request['locality'], - request['sublocality']) + request['postal_code']) ); } else { for (var i = 1; i < address_types_count; ++i) { @@ -90,13 +87,17 @@ function load_advanced_search(request) $('.delete_address_component').click(function() { var field_name = $(this).attr('href'); var hide = false; + var remove = false; for (var i = 1; i < address_types_count; ++i) { if (field_name == address_types[i]) { hide = true; } if (hide) { - delete_address_component(address_types[i]); + if (field_name != address_types[i]) { + remove = true; + } + delete_address_component(address_types[i], remove); } } @@ -227,15 +228,14 @@ function setAddress(i, j, values) var next_type = address_types[j]; var next_list = next_type + '_list'; - if (j == 3) { - $('tr#locality_text').hide() - $("select[name='locality_text']").attr('value', ''); - } - $('#' + next_list).load(baseurl + 'list/' + next_type, { previous:prev_type, value:values[i] }, function() { if ($("select[name='" + next_type + "']").children("option").size() > 1) { $("tr#" + next_type).show(); $("select[name='" + next_type + "']").attr('value', values[j]); + if (next_type == 'locality') { + $('tr#locality_text').hide(); + $("select[name='locality_text']").attr('value', ''); + } if (j < address_types_count) { setAddress(j, j + 1, values); } @@ -282,7 +282,7 @@ function changeAddressComponents(type, value) } for (var j = i + 1; j < address_types_count; ++j) { - delete_address_component(address_types[j]); + delete_address_component(address_types[j], true); } if (value != '' && i < address_types_count) { @@ -291,15 +291,19 @@ function changeAddressComponents(type, value) } } -function delete_address_component(field_name) +function delete_address_component(field_name, remove) { - $('tr#' + field_name).hide(); - $('#' + field_name + '_list').html(''); - $("input[name='" + field_name + "']").val(''); + if (remove || field_name == 'locality') { + $('tr#' + field_name).hide(); + $('#' + field_name + '_list').html(''); - if (field_name == 'locality') { - $("select[name='locality_text']").attr('value', ''); - $('tr#locality_text').show(); + if (field_name == 'locality') { + $("input[name='locality_text']").val(''); + $('tr#locality_text').show(); + } + } else { + $("select[name='" + field_name + "']").val(''); + $("input[name='" + field_name + "']").val(''); } }