2015-01-21 2 views
5

Я пытаюсь создать форму автозаполнения, как показано ниже, но форма не отображает предложение, так как мой запрос к базе данных в порядке.Autocomplete текстовое поле в laravel с помощью базы данных

enter image description here

Форма Cole:

enter image description here

контроллер код метода:

enter image description here

Маршруты:

enter image description here

Когда я поиск по ссылке, которую я получаю результат запроса, как это:

enter image description here

Показывает результат:

enter image description here

[{ "ID": 1,» значение ":" sourav hossen "}, {" id ": 2," value ":" sourav hossen "}, {" id ": 3," value ":" sourav hossen "}, {" id ": 4, "value": "ab"}, {"id": 5, "value": "aa"}]

+0

Вы еще не решили эту проблему? –

ответ

0

Попробуйте это изменение, некоторое время будет работать.

source: "{{URL::route('autocomplete')}}", 
0

Я попытался сделать это с помощью jquery ajax, и это сработало.
Прежде всего, вы должны включить библиотеку jquery перед следующим кодом.

Javascript код на ваш взгляд, должно быть:

<script> 
$(document).ready(function(){ 
    $('#q').keyup(function() { 
     var q=$(this).val(); 
     if(word.length>3) { 

      $.ajax 
      ({ 
       type: "GET", 
       url: "test2", 
       data: {q:q}, 
       contentType: "json", 
       cache: false, 
       success: function(data, status, xhr) 
       { 
        $('#q').val(data[0].value); 
       } 
      }); 
     } 
    }); 

}); 
</script> 

В контроллере вы должны получить Аякса данные

public function autocomplete(Request $request) 
{ 
    $input = $request->all(); 
    $term = $input['q']; 
    $result = array(); 
    $queries = ...(do whatever you like) 

       ->take(5)->get(); 
    foreach($queries as $query) 
    { 
     $result[] = ['id'=> $query->id,'value'=>$query->firstname.' '.$query->lastname]; 
    } 

    return response()->json($result); 

} 

Попробуйте это, и если вы обнаружите какие-либо трудности, я Я буду здесь.

+0

В этом случае мы должны создать модель или нет? –

Смежные вопросы