Я пытаюсь создать окно автозаполнения, используя список данных. Вот что я делаю и хочу:
связать список данных с ответом (ключ, значение) с сервера
Когда я связываю свой список данных, я вижу и ключ и значение, но я хочу видеть только значение. Вопрос: Как отобразить только значение в списке данных?
Всякий раз, когда я выбираю значение из этого динамического списка данных, я хочу показать выбранное значение и его текст. Вопрос: Как отобразить выбранное значение и соответствующий ему ключ из списка данных?
Мой код:
<input type="text" id="tex_in" list="dataList" />
<datalist id="dataList" >
</datalist>
if (query.length >= 4)
{
$.ajax({
type: "POST",
url: proxy,
data: JSON.stringify({"table" : table, "query" : query}),
success: function(){},
dataType: "json",
contentType : "application/json",
success: function (response) {
var data_response =
JSON.stringify(response)
var data = JSON.parse(data_response);
data.response.docs.forEach(function (el) {
if (autoCan.length < 10)
autoCan.push([el["key"], el["value"]]);
});
//console.log(autoCan);
if (autoCan.length)
{
autoCan.forEach(function (el) {
$('#dataList').append($("<option></option>").val(el[1]).html(el[0])); //
});
// display selected key and value from this datalist
$("#dataList").click(function (){
console.log($('#dataList option:selected').text());
console.log($('#dataList').attr('value'));
});
}
else {
$('#dataList').modal('hide');
}
},
error: function() {
console.log("error at server");
}
});
}
else
{
$('#dataList').modal('hide');
}