html Laravel自动完成搜索
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html Laravel自动完成搜索相关的知识,希望对你有一定的参考价值。
http://oneordinaryblog.com/php-laravel/laravel-search-autocomplete-typeheadjs
HTML+BOOTSTRAP
<form action="{{ route('video.search') }}" method="get" name="main_search_form" class="navbar-form">
<div class="input-group">
<input autocomplete="off" type="text" placeholder="Search videos" class="form-control" name="video_search" id="video_search">
<span class="input-group-btn">
<button type="submit" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
===========================================================================
WEB.ROUTES
Route::get('/main-search-autocomplete', function(){
return json_encode(DB::table('videos')->get()->all() );
});
// USER VIDEO SEARCH
Route::get('admin/videos/search', 'VideoController@search')->name('video.search') ;
===========================================================================
CONTROLLER:
public function search()
{
$value = Input::get('video_search');
// dd( $value ) ;
$videos = Video::where('youtube_name', 'LIKE', '%' . $value . '%')->limit(25)->get();
return view('admin.videos.search')->with('value', $value)
->with('videos', $videos);
}
===========================================================================
JS:
$(document).ready(function() {
$('#video_search').on('keyup', function(e){
if(e.which == 13){
$('#main_search_form').submit();
}
});
$.get("/main-search-autocomplete", function(data){
$("#video_search").typeahead({
"items": "all", // Number of Items
"source": data,
"autoSelect": false,
displayText: function(item){
console.log('returning item: ' + item.youtube_name ) ;
return item.youtube_name;
},
updater: function(item) {
// %20 will also work for names with spaces
// http://laratubedemo.test/admin/videos/search?video_search=Code+Geass+Op1
window.location.href = '{{ route('video.search') }}?video_search=' + item.youtube_name.split(' ').join('+') ;
}
});
},'json');
});
以上是关于html Laravel自动完成搜索的主要内容,如果未能解决你的问题,请参考以下文章
使用 Laravel 手动自动完成搜索,如何将信息传递给视图中的 div
输入字段自动完成搜索选择名称并将id存储在输入框laravel
使用 Laravel 和 Vuejs 使用条形码扫描仪自动完成搜索
在 Laravel 5.5 中使用 Typeahead.js 使用两个表格列进行自动完成搜索
使用数据库在laravel中自动完成文本字段
Laravel 在相关表中多次搜索