по щелчку, добавить значение JSON для ввода в качестве входного значения - PullRequest
0 голосов
/ 29 августа 2018

У меня есть рабочий сценарий 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...