使用数据库在laravel中自动完成文本字段

时间:2015-01-21 04:03:59

标签: database laravel-4 jquery-autocomplete

我正在尝试制作一个如下所示的自动填充表单,但由于我的数据库查询没问题,表单不显示建议。

enter image description here

表格cole:

enter image description here

控制器方法代码:

enter image description here

路线:

enter image description here

当我在链接上搜索时,我得到如下查询结果:

enter image description here

显示结果:

enter image description here

[{" id":1," value":" sourav hossen"},{" id":2,&# 34;价值":" sourav hossen"},{" id":3,"价值":" sourav hossen"}, {" id":4,"值":" a b"},{" id":5,"值&# 34;:" a a"}]

2 个答案:

答案 0 :(得分:0)

尝试此更改,有时会有效。

source: "{{URL::route('autocomplete')}}",

答案 1 :(得分:0)

我尝试用jquery ajax做它并且它有效。
首先,您应该在以下代码之前包含一个jquery库。

您视图中的javascript代码应为:

<script>
$(document).ready(function(){
    $('#q').keyup(function () {
        var q=$(this).val();
        if(word.length>3) {

            $.ajax
            ({
                type: "GET",
                url: "test2",
                data: {q:q},
                contentType: "json",
                cache: false,
                success: function(data, status, xhr)
                {
                    $('#q').val(data[0].value);
                }
            });
        }
    });

});
</script>

在您的控制器中,您应该获得ajax数据

public function autocomplete(Request $request)
{
    $input = $request->all();
    $term = $input['q'];
    $result = array();
    $queries = ...(do whatever you like)

                ->take(5)->get();
    foreach($queries as $query)
    {
        $result[] = ['id'=> $query->id,'value'=>$query->firstname.' '.$query->lastname];
    }

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

}

试试这个,如果你发现任何困难,我会在这里。