0.0.29 add widjet
This commit is contained in:
@@ -1005,7 +1005,6 @@ form.new_route{
|
||||
|
||||
.input_list.show{
|
||||
display:block;
|
||||
height: 300px;
|
||||
width: 50%;
|
||||
overflow: scroll;
|
||||
}
|
||||
@@ -19,49 +19,58 @@ function searchTown(el){
|
||||
return search(data)
|
||||
},
|
||||
error: function (data){
|
||||
console.log('++')
|
||||
// document.querySelector(".button_register").innerHTML = data.responseJSON.html
|
||||
console.log('Error')
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
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;
|
||||
// from_address_point
|
||||
let fap_txt_cont = document.querySelector("#id_from_address_point_txt");
|
||||
let fap_cont = document.querySelector("#id_from_address_point");
|
||||
fap_txt_cont.value = name;
|
||||
fap_cont.value = id;
|
||||
|
||||
//to_address_point
|
||||
let tap_txt_cont = document.querySelector("#id_to_address_point_txt");
|
||||
let tap_cont = document.querySelector("#id_to_address_point");
|
||||
|
||||
tap_txt_cont.value = name;
|
||||
tap_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 = [];
|
||||
|
||||
}
|
||||
}
|
||||
// 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 = [];
|
||||
//
|
||||
// }
|
||||
// }
|
||||
@@ -42,17 +42,23 @@
|
||||
<label for="id_from_address_point">{{ form.fields.from_address_point.label }}</label>
|
||||
<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>
|
||||
<div class="input_list" name="from_address_point_txt">
|
||||
{% include 'widgets/w_autocomplete_input.html' %}
|
||||
</div>
|
||||
{% if form.errors and form.errors.from_address_point %}
|
||||
<span>{{ form.errors.from_address_point}}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div>
|
||||
<label for="id_to_address_point">{{ form.fields.to_address_point.label }}</label>
|
||||
<input type="text" name="to_address_point"{% if form.fields.to_address_point.required %} required{% endif %} id="id_to_address_point">
|
||||
<input type="number" name="to_address_point" id="id_to_address_point" hidden />
|
||||
<input oninput="searchTown(this)" type="text" name="to_address_point_txt"{% if form.fields.to_address_point.required %} required{% endif %} id="id_to_address_point"/>
|
||||
<div class="input_list" name="from_address_point_txt">
|
||||
{% include 'widgets/w_autocomplete_input.html' %}
|
||||
</div>
|
||||
{% if form.errors and form.errors.to_address_point %}
|
||||
<span>{{ form.errors.to_address_point }}</span>
|
||||
{% endif %}
|
||||
<span>{{ form.errors.to_address_point }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{# <div>#}
|
||||
|
||||
6
templates/widgets/w_autocomplete_input.html
Normal file
6
templates/widgets/w_autocomplete_input.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<div onclick="selectItemAddrPoint('+ r.id+', '+ airport_name +')" class="autocomplete-result" data-index="'+ i +'" data-id="'+ r.id + '">
|
||||
<div>
|
||||
<b></b>
|
||||
</div>
|
||||
<div class="autocomplete-location"></div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user