我在为我的项目设置autocomplete函数,我想我得到了很好的逻辑,但数据没有显示在输入上。
控制器:
Public function autoComplete(Request $request) {
$term = $request->get('term','');
$queries=DB::table('patients')
->where('name','LIKE','%'.$term.'%')
->select('patients.id','patients.name')
->get();
$results=array();
foreach ($queries as $query)
{
$results[] = ['id' => $query->id, 'value' => $query->name];
}
if(count($results))
return response()->json($results);
else
return ['id'=>'','value'=>'No Result Found'];
}
路线:
Route::get('autocomplete',['as'=>'autocomplete','uses'=>'TestController@autoComplete']);
刀片:
<input type="text" id="test" name="test">
刀片中的jquery和ajax:
$(document).ready(function() {
src = "{{ route('autocomplete') }}";
$( "#test" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: src,
dataType: "json",
data: {
term : request.term
},
success: function(data) {
response(data);
}
});
},
minLength: 2,
});
});
花了两天的时间寻找问题所在,原因是没有显示任何错误,自动完成输入中没有显示数据,是脚本冲突还是jquery没有很好地实现,我不知道这里缺少了这些。json响应还可以,但是用ajax将数据发送到jquery,我想这是行不通的。
p、 使用ECSS库的前端部件im。
提前谢谢
1条答案
按热度按时间a8jjtwal1#
终于找到了解决办法:我错过了jqueryui的风格:
将它们添加到刀刃中,现在就像一个魔咒!谢谢:)