Go на страницу результатов после автозаполнения laravel - PullRequest
0 голосов
/ 21 марта 2020

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

Контроллер

function fetch(Request $request)
{

   $url = route('searching-work');
 if($request->get('query'))
 {
  $query = $request->get('query');
  $data = DB::table('fileworks')
    ->where('fileworkstitle', 'LIKE', "%{$query}%")
    ->get();
  $output = '<ul class="dropdown-menu" style="display:block; position:relative">';
  foreach($data as $row)
  {
   $output .= '
   <li><a href="'.$url.'">'.$row->fileworkstitle.'</a></li>
   ';
  }
  $output .= '</ul>';
  echo $output;
 }
}
public function searchingwork(Request $request)
{

     $search=$request->get('work_name');
     $fileworks= DB::table('fileworks')
    ->where('fileworkstitle','like', '%' .$search. '%')
     ->join('categories','fileworks.categories_id','categories.id')
     ->select('fileworks.*','categories.catname','categories.id as catid')

    ->get();


 return view('front.home.search-result', compact('fileworks'));
}

blade

 <div class="form-group">
<input type="text" name="work_name" id="work_name" class="form-control input-lg" placeholder="Enter Work Name" />
<div id="workList">
</div>
   </div>
      {{ csrf_field() }}
  </div>
<script>
    $(document).ready(function(){

    $('#work_name').keyup(function(){ 
    var query = $(this).val();
    if(query != '')
    {
     var _token = $('input[name="_token"]').val();
     $.ajax({
      url:"{{ route('autocomplete.fetch') }}",
      method:"POST",
      data:{query:query, _token:_token},
      success:function(data){
       $('#workList').fadeIn();  
                $('#workList').html(data);
      }
     });
    }
});

$(document).on('click', 'li', function(){  
    $('#work_name').val($(this).text());  
    $('#workList').fadeOut();  
   });  

  });
     </script>

Маршрут

Route::get('/searching-work', 'FrontController@searchingwork')->name('searching-work');
Route::post('/autocomplete/fetch', 'FrontController@fetch')->name('autocomplete.fetch');

Пожалуйста, обратите внимание, если я использую и кнопка поиска работает хорошо, но мне не нужно использовать кнопку поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...