还有一个 jQuery 自动完成线程

Yet another jQuery autocomplete thread

我想弄清楚我的代码(Laravel5 项目)有什么问题。

到目前为止我有: master.blade.php

<!-- jQuery Version 1.11.0 and jQuery UI-->
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="{{asset("patho/to/jquery/jquery-1.11.0.js")}}"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

主视图已预加载到任何视图中,它用作页眉和页脚包装器。请注意,我混淆了 jQuery 脚本的本地路径,它是真实的并且已加载并且可以正常工作。

包含在我的一个 CRUD 视图中: create.blade.php

{!! Form::select('league_id',[], Request::old('league_id'), array('class' => 'form-control', 'id' => 'league_name')) !!}
<script src="{{ asset('js/tips.js') }}">

在我的 tips.js 文件中:

$(document).ready(function() {
    var dataSource = ['test1', 'test2'];
    $('#league_name').autocomplete(
        {
            source: dataSource
        }
    );
});

我也试过:

var dataSource = [{value: 'test1', name: 'test1'}]

然而它仍然根本不起作用,也没有显示控制台错误。

有什么线索吗?

编辑:遵循 michaelbahr 的建议:

自动完成小部件根本不执行,我得到的结果 select 下拉菜单只是一个空的。没有项目,没有来自小部件的搜索框。一个普通的空 select:

<select class="form-control ui-autocomplete-input" id="league_name" name="league_id" autocomplete="off"></select>

那样不行。自动完成需要一个输入(文本)字段才能工作。如果你想要 select,你可以做类似 this 的事情。

但是,如果您已经有一个数组,则不需要自动完成,您可以像这样简单地使用 jQuery:

$(document).ready(function() {
    var dataSource = ['test1', 'test2'];
    var league = $('#league_name');
    $.each(dataSource, function(index, value){
        league.append("<option>" + value + "</option>");
    })
});