En en route/web:
Route::post('busquedaMetodoDePago', 'WalletController@busquedaMetodoDePago')->name('busquedaMetodoDePago'); // Redas
En el controlador:
public function busquedaMetodoDePago(Request $request)
{
$search = $request->search;
if ($search == '')
{
$metodos = TransferMethod::orderby('name','asc')->select('id','name')->limit(5)->get();
}
else
{
$metodos = TransferMethod::orderby('name','asc')->select('id','name')->where('name', 'like', '%' .$search . '%')->limit(5)->get();
}
$response = array();
foreach($metodos as $metodo)
{
$response[] = array("label" => $metodo->name, "value" => $metodo->id);
}
echo json_encode($response);
exit;
}
En views/layout:
<link rel="stylesheet" href="{{ asset('assets/css/jquery-ui.min.css')}}" />
<script src="{{ asset('assets/js/jquery-ui.min.js')}}"></script>
En la vista:
<div class="col-md-12">
<input type="hidden" id="metodo_pago">
<label for="sugerencia_metodo_pago">De:</label>
<input type="text" class="form-control" id="sugerencia_metodo_pago">
</div>
En el javascript:
$( "#sugerencia_metodo_pago" ).autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url:$('#url-base-idioma').data('url-base-idioma')+'/busquedaMetodoDePago',
type: 'post',
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
},
select: function (event, ui)
{
$('#sugerencia_metodo_pago').val(ui.item.label);
$('#metodo_pago').val(ui.item.value);
return false;
}
});
Fuente:
https://www.nicesnippets.com/blog/laravel-autocomplete-search-with-jquery-ui-example