2017-01-25 16 views
0

私の意向は、ユーザーを検索することです。しかし、オートコンプリートは私のために働いていません。私はこれについていくつかの助けをしたいと思います。ここで(Codeigniter-jquery ui)オートコンプリートが動作しない

HTML

<input id="user-input" type="text" name="users" placeholder="Search User" autocomplete="on"> 

モデル

function get_user($user) { 

    $this->db->select('name'); 
    $this->db->like('name', $user); 
    $query = $this->db->get('users'); 

    // echo $query; die; 

    if($query->num_rows() > 0){ 
     foreach($query->result_array() as $row) { 
      $row_set[] = htmlentities(stripslashes($row['name'])); 
     } 

     echo json_encode($row_set); 
    } 

} 

コントローラ

、私のコードです

jsが私は私のためと単純化のためにjqueryのUIのバージョン1.12

+0

あなたはどのようなエラーを得ていますか?エラーがなければ、入力を開始するときにどのコントローラにアクセスしているのかをコンソールで確認できますか? – Rahi

+0

コントローラにアクセスしていません。だから私はそれがjquery - uiの互換性の問題かもしれないと思う。また、データがモデルをコントローラに渡していない –

+0

コントローラと言えば...あなたがアクセスしているソースを参照していました。入力を開始すると、ソース: "site/user_search"にリクエストが送信されます。アクセスしている完全なURLは何ですか。また、AJAXリクエストの結果はどうですか? – Rahi

答えて

2

実はこの作品の罰金を使用しています

$(function(){ 
    $("#user-input").autocomplete({ 
    source: "site/user_search", 
    minLength: 1 
    }); 
}); 

私はモデルを削除しました。

あなたのビューで

<script src="jquery-3.1.1.min.js"></script> 
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
    <script> 
    $(function(){ 
     $("#user-input").autocomplete({ 
     source: "<?php echo base_url('site/user_search'); ?>", 
     minLength: 1 
     }); 
    }); 
    </script> 
<input id="user-input" type="text" name="users" placeholder="Search User" autocomplete="on"> 
あなたのサイトコントローラで

function user_search() 
    { 

     $user = $_GET['term']; 

     $query = $this 
         ->db 
         ->select('name') 
         ->like('name',$user) 
         ->get('users'); 

     if($query->num_rows() > 0){ 
      foreach($query->result_array() as $row) { 
       $row_set[] = htmlentities(stripslashes($row['name'])); 
      } 

      echo json_encode($row_set); 
     } 
    } 
0
Set label and value in json response key 
function user_search() 
    { 

     $user = $_GET['term']; 

     $query = $this 
         ->db 
         ->select('name') 
         ->like('name',$user) 
         ->get('users'); 

     if($query->num_rows() > 0){ 
      foreach($query->result_array() as $row) { 
       $new_row['label']=htmlentities(stripslashes($row['name'])); 
       $new_row['value']=htmlentities(stripslashes($row['name'])); 
       $row_set[] = $new_row; //build an array 
      } 

      echo json_encode($row_set); 
} 
+0

一般的に、回答には、コードが何を意図しているのか、なぜ他の人を紹介せずに問題を解決するのかについての説明が含まれていると、はるかに役立ちます。 –

関連する問題