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

Posted

技术标签:

【中文标题】使用数据库在laravel中自动完成文本字段【英文标题】:Autocomplete text field in laravel using database 【发布时间】:2015-03-19 12:18:36 【问题描述】:

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

表格科尔:

控制器方法代码:

路线:

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

显示结果:

["id":1,"value":"sourav hossen","id":2,"value":"sourav hossen","id":3,"value":" sourav hossen","id":4,"value":"ab","id":5,"value":"aa"]

【问题讨论】:

这个问题你解决了吗? 【参考方案1】:

试试这个更改,一段时间后会奏效。

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

【讨论】:

【参考方案2】:

我尝试使用 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);


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

【讨论】:

在这我们要不要创建模型?

以上是关于使用数据库在laravel中自动完成文本字段的主要内容,如果未能解决你的问题,请参考以下文章

输入字段自动完成搜索选择名称并将id存储在输入框laravel

使用带有联系人电话号码的自动完成文本视图

从文本字段捕获数据时如何忽略自动完成值?

IOS中带有静态数组数据的自动完成文本字段

如何在 Swift 中创建自动完成文本字段

PHP & jQuery - 使用自动完成创建两个不同的文本字段,从数据库中检索到不同的数据列表