Files
tripwithbonus/static/js/autocomlitev2.js

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 = [];
}
}