0.0.28 upd autocomlitev2.js, almost good

This commit is contained in:
2023-07-20 18:58:12 +03:00
parent fcc685e1cc
commit 57c6badfa9
2 changed files with 23 additions and 11 deletions

View File

@@ -25,32 +25,43 @@ function searchTown(el){
});
}
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")
let ac = document.querySelector("#id_from_address_point_txt");
if (ac.value.length > 0) {
if (ac.value.length > 2) {
let res_data = data.data
var divs = res_data.map(function(r, i) {
return '<div class="autocomplete-result" data-index="'+ i +'" data-id="'+ r.id + '">'
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>';
});
divs.attr('data-highlight', selectedIndex);
document.querySelector(".input_list").innerHTML = divs
selectedIndex = -1;
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;
divs.empty();
let divs = [];
}
}

View File

@@ -40,11 +40,12 @@
<div class="from_to_country">
<div>
<label for="id_from_address_point">{{ form.fields.from_address_point.label }}</label>
<input oninput="searchTown(this)" type="text" name="from_address_point"{% if form.fields.from_address_point.required %} required{% endif %} id="id_from_address_point">
<div class="input_list"></div>
<input type="number" name="from_address_point" id="id_from_address_point" hidden />
<input oninput="searchTown(this)" type="text" name="from_address_point_txt"{% if form.fields.from_address_point.required %} required{% endif %} id="id_from_address_point_txt">
<div class="input_list" name="from_address_point_txt"></div>
{% if form.errors and form.errors.from_address_point %}
<span>{{ form.errors.from_address_point}}</span>
{% endif %}
<span>{{ form.errors.from_address_point}}</span>
{% endif %}
</div>
<div>
<label for="id_to_address_point">{{ form.fields.to_address_point.label }}</label>