【发布时间】:2016-05-16 21:11:09
【问题描述】:
我的网站已经有一个功能搜索框,但我想为我的搜索栏实现自动完成功能。我知道有很多插件,比如 typeahead 等等。我想实现 typeahead 或 jQuery Autocomplete widget,如果你们知道的话。我看过一些教程,但它们不适用于我拥有的代码。我将向您展示我的搜索框的刀片、控制器和路由。
如何将数据库中的所有数据加载到 jQuery 插件的源字段中?例如,我想加载传单标题?
show.blade.php:
@extends('home')
@section('content')
<div id="the-basics">
<input class="typeahead" type="text" placeholder="Title">
</div>
@stop
@section('scripts.footer')
<script type="application/javascript" src="{{ URL::asset('/src/public/js/typeahead.js') }}"></script>
<script>
$('#the-basics .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'title',
source: 'travelflyers/search'
});
</script>
@stop
TravelFlyersController.php:
class TravelFlyersController extends Controller {
// Other functions here...
public function search() {
$keyword = Input::get('keyword');
$flyers = Flyer::where('title', 'LIKE', '%' .$keyword. '%')->get();
return \Response::json($flyers);
}
}
路线:
Route::group(['middleware' => ['web']], function () {
/** Resource Route For Travel Flyers */
Route::resource('travelflyers', 'TravelFlyersController');
Route::post('travelflyers/search',[
'uses' => '\App\Http\Controllers\TravelFlyersController@search',
'as' => 'travelflyers.search',
]);
});
【问题讨论】:
标签: php jquery typeahead laravel-5.2