Laravel - Поле ввода с результатом поиска в выпадающем списке - PullRequest
0 голосов
/ 08 октября 2019

Я пытался создать базовый проект для отслеживания движения акций. Здесь мне нужно поле для ввода, где я могу ввести текст, и элементы, соответствующие тексту, должны отображаться в раскрывающемся списке и должны быть доступны для выбора. Я имел в виду ссылку ниже для того же:

https://www.itsolutionstuff.com/post/laravel-57-autocomplete-search-from-database-using-typeahead-jsexample.html

Пожалуйста, найдите мой код, как показано ниже:

create.blade.php

@extends('layouts.app')
@section('title', 'New Transaction')
@section('content')
<form action="/transactions" method="POST">
  <div class="row">
   <label>Item Name</label>
   <input class="typeahead form-control" type="text">
   <label>Quantity</label>
   <input type="text" name="quantity[]"  value="" placeholder="Quantity">
     {{ $errors->first('quantity')}}
  </div>
<button type="submit" class="btn btn-primary">Complete Order</button>
  @csrf
</form>

<script type="text/javascript">
  var path = "{{ route ('autocomplete') }}";
  $('input.typeahead').typeahead({
    source:  function (query, process) {
      //alert("Sds");
    return $.get(path, { query: query }, function (data) {
            return process(data);
        });
    }
});
</script>
@endsection

TransactionController.php Функция автозаполнения:

  public function autocomplete(Request $request)
  {
   $data = Item::select("item_name")
        ->where("item_name", "LIKE", "%{$request->input('query')}%")
        ->get();
return response()->json($data);

}

Web.php

Route::resource('items', 'ItemController');
Route::resource('units', 'UnitController');
Route::resource('transactions', 'TransactionController');
Route::get('transactions', 'TransactionController@autocomplete')->name('autocomplete');

Я все еще не понимаю, где я ошибся.

...