我正在从我的数据库列表中创建一个输入自动完成建议,但我有一些问题,我的输入显示建议如图:
问题:我的控制器显示了我想要的10个项目,但是这些术语效果不好,因为你可以看到我是否写了我的市政“米兰”它没有正确建议,实际上我的控制器正在显示第一个我的10个项目。
我的控制者:
public function getData(Request $request) {
$termn = $request->input('municipality');
// controllo
$data = Municipality::where('name', 'LIKE', '%'.$termn.'%')->take(10)
->get();
$results = array();
foreach($data as $v){
$results[]=['id' => $v->id, 'value' => $v->name];
}
//return $results;
return response()->json($results);
}
路线
Route::get('getdata', 'PostController@getData');
JS
$('#searchname').autocomplete({
minLength: 1,
autoFocus: true,
source: $('#route-url').val(),
select: function(e, ui){
console.log(ui.item.id);// it work and show me id of item selected
},
});
查看表格
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-3 control-label" for="seller-Location">Municipality</label>
<div class="col-md-8">
<input
type="text"
name="municipality"
placeholder="comune"
class="form-control input-md"
id="searchname">
<input type="hidden" id="route-url" value="{{ url('getdata') }}">
</div>
</div>
答案 0 :(得分:0)
如果dd
为空,那是因为此密钥没有数据:)
使用var_dump($request->all());
或dd($request->all());
您将拥有所有可用参数的lsit。
我可以在您的javascript代码source: $('#route-url').val(),
上看到。
所以,我想你会有这样的价值观:
如果dd的结果是:
source: {municipality: $('#route-url').val()}
?