LaravelJQuery自动完成数据未显示在视图中

e5nszbig  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(333)

我在为我的项目设置autocomplete函数,我想我得到了很好的逻辑,但数据没有显示在输入上。
控制器:

Public function autoComplete(Request $request) {

    $term = $request->get('term','');

    $queries=DB::table('patients')
    ->where('name','LIKE','%'.$term.'%')
    ->select('patients.id','patients.name')
    ->get();

    $results=array();

    foreach ($queries as  $query)
    {
        $results[] = ['id' => $query->id, 'value' => $query->name];
    }
    if(count($results))
        return response()->json($results);
    else
        return ['id'=>'','value'=>'No Result Found'];
}

路线:

Route::get('autocomplete',['as'=>'autocomplete','uses'=>'TestController@autoComplete']);

刀片:

<input type="text" id="test" name="test">

刀片中的jquery和ajax:

$(document).ready(function() {
        src = "{{ route('autocomplete') }}";
        $( "#test" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: src,
                    dataType: "json",
                    data: {
                        term : request.term
                    },
                    success: function(data) {
                        response(data);
                    }
                });
            },
            minLength: 2,
        });
    });

花了两天的时间寻找问题所在,原因是没有显示任何错误,自动完成输入中没有显示数据,是脚本冲突还是jquery没有很好地实现,我不知道这里缺少了这些。json响应还可以,但是用ajax将数据发送到jquery,我想这是行不通的。
p、 使用ECSS库的前端部件im。
提前谢谢

a8jjtwal

a8jjtwal1#

终于找到了解决办法:我错过了jqueryui的风格:

<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">

将它们添加到刀刃中,现在就像一个魔咒!谢谢:)

相关问题