2016-11-04 9 views
0

私のlaravelプロジェクト "book shop managing"でオートコンプリート検索オプションを正常に実装しました。再び私のホームページから私が本の名前をクリックすると、特定の本が表示されます。しかし、検索結果へのリンクを追加するにはどうすればいいですか?その結果から本をクリックすると、ブックの詳細が含まれているページに移動します。オートコンプリートの検索結果をリンクとして表示する方法

私index.blade.php

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
    <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 

    <script> 
     $(function() { 
      $("#books").autocomplete({ 
       source: 'auto_complete' 
      }); 


     }); 

    </script> 

    <div class="ui-widget"> 
     <label for="books">Books: </label> 
     <input id="books"> 
    </div> 

コントローラ

public function search(){ 
     $search = Input::get('term'); 

     $books = Book::where('title','like','%'.$search.'%')->get(); 

     foreach ($books as $book) { 
      $data[] = $book->title; 
     } 

//  return $books; 
     return $data; 
    } 

ルート

Route::get('auto_complete', '[email protected]'); 
+0

あなたは '$ books'データのいくつかの例を提供できますか? – Twisty

+0

ここには本のタイトルのみを取ります。私が リターンレスポンス() - > json([ 'suggestions' => $ results])のように戻った場合、ハリーポッター、眠っている美しさ – Tasmin

答えて

0

CONTROLLER

public function search(){ 
     $search = Input::get('term'); 
     // return $search or dd($search) check if request get the value please 
     $books = Book::where('title','like','%'.$search.'%')->get(); 
     // return $books or dd($books) check if request get the values please 
     $results = array(); 
     foreach($books as $key => $v){ 
     $results[]=['id' => $v->id]; 
    } 
    // return a json object 
    return response()->json([ 
       'suggestions'=>$results]); 
    } 

JS

$(function() { 
     $("#books").autocomplete({ 
      source: 'auto_complete', 
      onSelect: function (data) { 
       location.href = "www.yourwebsite.com+data.suggestions.id" // this redirect for example book id:1 to www.yourwebsite.com/1 
      // Or use jquery to redirect: window.location.replace("http://stackoverflow.com"); 
} 
     }); 


    }); 

同じルートを使用して、ネットワークまたはコンソールに何らかのエラーがある場合はお知らせください。 jqueryライブラリとオートコンプリートライブラリjsを統合したと思います。

+0

; } 要素を検索すると、出力フィールドに何も表示されません。 – Tasmin

関連する問題