【发布时间】:2019-04-21 04:14:13
【问题描述】:
我正在为城市输入框使用 jquery 自动完成,但是当我发送输入时,它发送的是所选城市的名称而不是 id,我如何发送 id 但在使用自动完成时仍然显示名称?
所以本质上我希望自动完成功能是这样的:
id}}">{{city->name}}-/option->
这是我当前的代码:
HTML:
<div class="search-homepage-input">
{!! Form::open(['route' => 'search.index', 'method' => 'GET']) !!}
<div class="col-md-9">
{!! Form::text('city', null, array('class' => 'form-control', 'maxlength' =>'55', 'placeholder' => 'Eg. England, London, Manchester', 'id' => 'sl')) !!}
</div>
<div class="col-md-3">
{!! Form::submit('Find Teams', array('class' => 'btn btn-homepage')) !!}
</div>
{!! Form::close() !!}
</div>
PHP(Laravel):
public function autoComplete(Request $request){
$query = $request->term;
$res = City::where('name', 'LIKE', "%$query%")->orderBy('name')->paginate(5);
foreach($res as $cities ){
$usersArray[] = $cities->name;
}
return response()->json($usersArray);
}
JS:
$('#sl').autocomplete({
source: '/autocomplete'
})
【问题讨论】:
-
$usersArray中可以找到哪些示例数据?如果它是返回一个对象而不是一个数组,你可能会得到不同的结果。
标签: jquery laravel jquery-ui laravel-5 autocomplete