67 lines
1.9 KiB
JavaScript
67 lines
1.9 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 selectItemAddrPoint(id, name){
|
|
let ap_txt_cont = document.querySelector("#id_from_address_point_txt");
|
|
let ap_cont = document.querySelector("#id_from_address_point");
|
|
ap_txt_cont.value = name;
|
|
ap_cont.value = id;
|
|
|
|
}
|
|
|
|
function search(data) {
|
|
|
|
let ac = document.querySelector("#id_from_address_point_txt");
|
|
|
|
if (ac.value.length > 2) {
|
|
|
|
let res_data = data.data
|
|
|
|
var divs = res_data.map(function(r, i) {
|
|
airport_name = "'"+r.iata_code + " - " + r.name+"'";
|
|
|
|
return '<div onclick="selectItemAddrPoint('+ r.id+', '+ airport_name +')" class="autocomplete-result" data-index="'+ i +'" data-id="'+ r.id + '">'
|
|
+ '<div><b>'+ r.iata_code +'</b> - '+ r.name +'</div>'
|
|
+ '<div class="autocomplete-location">'+ r.city__name +', '+ r.city__country__name +'</div>'
|
|
+ '</div>';
|
|
});
|
|
|
|
|
|
let input_list = document.querySelector(".input_list");
|
|
input_list.classList.toggle("show")
|
|
input_list.innerHTML = divs
|
|
|
|
|
|
// .html(divs.join(''))
|
|
// .attr('data-highlight', selectedIndex);
|
|
|
|
} else {
|
|
numResults = 0;
|
|
let divs = [];
|
|
|
|
}
|
|
} |