56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
function searchTown(el){
|
|
let form = el.form;
|
|
let type_transport = form['type_transport'].value;
|
|
let search_str = el.value;
|
|
let get_address_point = new Object({type_transport, search_str})
|
|
|
|
|
|
$.ajax({
|
|
headers: { "X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val() },
|
|
url: '/ru/reference_data/get_address_point/',
|
|
type: "POST",
|
|
// async: true,
|
|
cache: false,
|
|
processData: false,
|
|
contentType: false,
|
|
// enctype: 'json',
|
|
data: JSON.stringify(get_address_point),
|
|
success: function(data){
|
|
return search(data)
|
|
},
|
|
error: function (data){
|
|
console.log('++')
|
|
// document.querySelector(".button_register").innerHTML = data.responseJSON.html
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
function search(data) {
|
|
|
|
let ac = document.querySelector("#id_from_address_point")
|
|
|
|
if (ac.value.length > 0) {
|
|
|
|
let res_data = data.data
|
|
|
|
var divs = res_data.map(function(r, i) {
|
|
return '<div class="autocomplete-result" data-index="'+ i +'">'
|
|
+ '<div><b>'+ r.iata_code +'</b> - '+ r.name +'</div>'
|
|
+ '<div class="autocomplete-location">'+ r.city__name +', '+ r.city__country__name +'</div>'
|
|
+ '</div>';
|
|
});
|
|
divs.attr('data-highlight', selectedIndex);
|
|
document.querySelector(".input_list").innerHTML = divs
|
|
|
|
selectedIndex = -1;
|
|
// .html(divs.join(''))
|
|
// .attr('data-highlight', selectedIndex);
|
|
|
|
} else {
|
|
numResults = 0;
|
|
divs.empty();
|
|
|
|
}
|
|
} |