У меня есть рабочий сценарий ajax, который выполняет вызов к конечной точке и возвращает объект json, который я успешно зацикливаю и добавляю значения в список параметров списка данных.
Это работает успешно, но моя проблема в том, что когда я щелкаю по одному из своих вариантов списка данных, я хочу получить другое значение из этого объекта JSON (в том же индексе), и оно заполняет значение поля ввода формы.
В основном, ajax / javascript работает до строки $("#returnedProducts option").click(function(){
, где я хочу щелкнуть опцию и загрузить значение для этой опции в форму ввода.
Мой javascript / ajax:
<script type="text/javascript">
$('#productInput').on('input', function(){
if($(this).val() === ''){
return;
}else{
const searchResult = $(this).val();
$.ajax({ url: '/autocomplete',
data: {
search_result:searchResult
},
"_token": "{{ csrf_token() }}",
type: "POST",
success: function(response){
let searchResult = response.hits.hits;
for(let i = 0; i < searchResult.length; i++) {
//The below line is putting the correct elements in my datalist. I want the following click function to happen if one of these options is clicked
$("#returnedProducts").append("<option value=" + searchResult[i]._source.group_cover_color + ">" + searchResult[i]._source.group_cover_color + "</option>");
$("#returnedProducts option").click(function(){
document.getElementById("groupName").value = searchResult[i]._source.frm.grp.Name;
});
}
}
});
}
});
</script>
Возвращенный объект JSON с console.log (searchResult):
1:
_source:
frm:
grp:
Name: "Name One"
Так что я просто пытаюсь обработать это так, чтобы, если опция нажата, Имя станет значением поля ввода ниже:
<form id="productForm">
<input id="groupName" type="text">
</form>