在laravel或Php中的搜索字段中显示Json

Siv*_*ani 6 php jquery laravel

我需要在搜索栏上显示搜索值.

我的控制器代码:

$q = Input::get('q');
  $query = Jobs::select('job_title')->Where('job_title', 'LIKE', '%'.$q.'%')->get();
  return response()->json($query);
Run Code Online (Sandbox Code Playgroud)

我的jquery axios代码:

 $(document).ready(function(){
  $("#jobsearch").keyup(function(){
     url = "{{route('searchexistingjob')}}";
     var word = $("#jobsearch").val();
     const data = {
       'q' : word
     }
     axios.post(url,data).then(response =>{
        for(i=0; i<response.data.length; i++){
            // $('#jobsearch').val(response.data[i].value);           
     });
  });
});
Run Code Online (Sandbox Code Playgroud)

HTML代码

<input type="text" id="txtjobsearch" name="txtjobsearch" class="form-control" placeholder="Job title, designation, description..." autocomplete="off" data-id="1">
Run Code Online (Sandbox Code Playgroud)

所有的事情都是正确的,但我需要如何在搜索框中显示任何想法的价值?

小智 0

如果可以的话你可以改变响应格式

$q = Input::get('q');
$query = Jobs::select('job_title')->Where('job_title', 'LIKE', '%'.$q.'%')->get();
return response()->json([
    search_terms => $q,
    results => $query,
]);
Run Code Online (Sandbox Code Playgroud)

或者当您使用 ajax 时,您已经有了搜索词:

所以而不是:

$('#jobsearch').val(response.data[i].value);  
Run Code Online (Sandbox Code Playgroud)

您将使用:

$('#jobsearch').val(word);  
Run Code Online (Sandbox Code Playgroud)

或者只是删除该行并保留已输入的内容。