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

问题描述 投票:0回答:2

我正在尝试制作如下所示的自动完成表单,但由于我的数据库查询正常,该表单未显示建议。

enter image description here

窗体:

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,"value":"sourav hossen"},{"id":3,"value":"sourav hossen "},{"id":4,"value":"a b"},{"id":5,"value":"a a"}]

database laravel-4 jquery-autocomplete
2个回答
0
投票

试试这个改变,一些时间会奏效。

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

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);

}

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

© www.soinside.com 2019 - 2024. All rights reserved.