我试图弄清楚我的代码(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'}]
但它仍然无法正常工作,也没有显示控制台错误。
任何线索?
编辑:遵循迈克尔巴赫的建议:
自动完成小部件根本不执行,我得到的结果选择下拉列表只是一个空的。小部件中没有项目,也没有搜索框。一个简单的空选:
<select class="form-control ui-autocomplete-input" id="league_name" name="league_id" autocomplete="off"></select>
答案 0 :(得分:0)
这不会那样。自动完成需要输入(文本)字段才能工作。如果你想选择,你可以做this之类的事情。
但是,如果你已经有一个数组,你不需要自动完成,你可以像这样简单地使用jQuery:
$(document).ready(function() {
var dataSource = ['test1', 'test2'];
var league = $('#league_name');
$.each(dataSource, function(index, value){
league.append("<option>" + value + "</option>");
})
});