自动完成 Ajax laravel
Auto Completion Ajax laravel
你好,我需要对数据库中已有的一些城市进行自动补全
所以我的代码是这样的:
查看
<input type="text" name="ville" id="ville" class="small" placeholder="Entrer la ville souhaité">
<script type="text/javascript">
$(function() {
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
});
</script>
控制器
class VilleController extends Controller
{
public function autocomplete(Request $request)
{
$term = $request->term;
$queries = DB::table('ville')
->where('libelle_ville', 'like', '%'.$term.'%')
->take(6)->get();
foreach ($queries as $query)
{
$results[] = ['id' => $query->id, 'value' => $query->libelle_ville]; //you can take custom values as you want
}
return response()->json($results);
}
}
路线
Route::get('/autocomplete', array('as' => 'autocomplete', 'uses'=>'VilleController@autocomplete'));
它没有告诉我有错误,也没有显示任何完成。
用laravel调试json请求有点困难,我建议你下载这个包
https://github.com/ARCANEDEV/LogViewer
或手动打开 laravel 登录 storage/logs/laravel.log
看看发生了什么
感谢 Stack 和 EddyTheDove,我发现错误是 aucomplete 不是一个函数所以我必须删除 barkets 和 $function 所以它在脚本标签中会是这样的
<script type="text/javascript">
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
</script>
你好,我需要对数据库中已有的一些城市进行自动补全 所以我的代码是这样的:
查看
<input type="text" name="ville" id="ville" class="small" placeholder="Entrer la ville souhaité">
<script type="text/javascript">
$(function() {
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
});
</script>
控制器
class VilleController extends Controller
{
public function autocomplete(Request $request)
{
$term = $request->term;
$queries = DB::table('ville')
->where('libelle_ville', 'like', '%'.$term.'%')
->take(6)->get();
foreach ($queries as $query)
{
$results[] = ['id' => $query->id, 'value' => $query->libelle_ville]; //you can take custom values as you want
}
return response()->json($results);
}
}
路线
Route::get('/autocomplete', array('as' => 'autocomplete', 'uses'=>'VilleController@autocomplete'));
它没有告诉我有错误,也没有显示任何完成。
用laravel调试json请求有点困难,我建议你下载这个包
https://github.com/ARCANEDEV/LogViewer
或手动打开 laravel 登录 storage/logs/laravel.log
看看发生了什么
感谢 Stack 和 EddyTheDove,我发现错误是 aucomplete 不是一个函数所以我必须删除 barkets 和 $function 所以它在脚本标签中会是这样的
<script type="text/javascript">
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
</script>