任何人都可以帮我这个吗? 我有一张表格
<form action={{'/query'}} method="get" autocomplete="off">
<input type="text" name="places" id="places">
<input type="submit" value="Go">
</form>
这是我的searh.js
$(document).ready(function(){
var places = new Bloodhound({
datumTokenizer:Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer:Bloodhound.tokenizers.whitespace,
remote: '/query'
});
places.initialize();
$('#places').typeahead({
hint:true,
highLight: true,
minLength:2
},{
name:'places',
displayKey: 'name',
source: places.ttAdapter()
});
});
这是我的路线
Route::get('/query',['uses'=>HomeController@query]);
这是HomeController中的查询功能
public function query()
{
$query = Input::get('places');
$results = DB::table('evac_center')->where('name','LIKE',$query.'%')->get();
return Response::json($results);
}
这是结果 result
问题是我输入框中输入的内容,typeahead只返回数据库中的前5行。
答案 0 :(得分:0)
尝试在数据集选项中设置limit
:
$('#places').typeahead({
hint:true,
highLight: true,
minLength:2
},{
name:'places',
displayKey: 'name',
limit: 25,
source: places.ttAdapter()
});
您可能还需要在Bloodhound选项中设置sufficient
:
var places = new Bloodhound({
datumTokenizer:Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer:Bloodhound.tokenizers.whitespace,
remote: '/query',
sufficient: 25
});
https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md