Laravel jQuery ui autocomplete并没有正确显示响应数据

时间:2016-05-30 19:38:44

标签: php jquery jquery-ui laravel-5.2

我试图在我的laravel应用程序中实现自动完成搜索系统。我已正确存储了所有css和js文件。现在,当我输入与数据库的指定字段匹配的内容时,会出现一些没有任何文本的小框。问题是什么?为什么我不能将响应数据传递给视图?

这是我的控制器。

public function autocomplete(Request $request){
      $term=$request->term;
      $data=User::where('name','LIKE','%'.$term.'%')->take(10)->get();
      $result=array();
      foreach($data as $key=>$user){
       $result[]=['name'=>$user->name];

      }

      return response()->json($result);
    }

以下是我的观点。

<?php include "/Assests_PHP/JS.php";?>
<?php include "/Assests_PHP/CSS.php";?>

<script src="https://code.jquery.com/ui/1.12.0-beta.1/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" type="text/css">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<section class="panel panel-default">
<header class="panel-heading">
<input type="text" name="name" id="searchname" class="form-control" placeholder="search user"/>

</header>
<div class="panel-body">

</div>
</section>
</div>
</div>
<script type="text/javascript">
$('#searchname').autocomplete({
  source:'{!!URL::route('autocomplete')!!}',
   minlength:1,
  autoFocus:true,
  select:function(e,ui){

    alert(ui);
  }

});

1 个答案:

答案 0 :(得分:0)

  

问题是什么

您的对象结构与自动填充 来源 文档的预期默认值不匹配

  

数组:数组可用于本地数据。有两个支持   格式:

An array of strings: [ "Choice1", "Choice2" ]
An array of objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]
     

标签属性显示在建议菜单中。价值会   当用户选择项目时插入到input元素中。如果   只指定了一个属性,它将用于两者,例如,如果你   只提供值属性,该值也将用作   标签