2016-02-11 117 views
0

這裏是我的jQuery:如何使用自動完成從數據庫加載數據?

$(function() { 
     $("#user_role").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: "ajax/search_username", 
       dataType: "json", 
       data: request, 
       success: function(data){ 
        if(data.response == 'true') { 
         response($data); 
        } 
       } 
      }); 
     }, 
     minLength: 1, 
     select: function(event, ui) { 
      //Do something extra on select... Perhaps add user id to hidden input  
     }, 

    }); 
}()); 

這裏是我的HTML,

<input type="text" id="user_role" name="user_role"> 

這裏是我的控制器,

function search_username() { 

    $keyword=$this->input->get('term'); 
    $this->load->model('chat_model'); 
    $data=$this->chat_model->GetRow($keyword);   
    echo json_encode($data); 
} 

這裏是我的模型

public function GetRow($keyword) {  

    $this->db->like('user_type', $keyword, 'both'); 
    return $this->db->get('lc_user_types')->result_array(); 
} 

瓦在我我試圖做的是加載數據表格數據庫使用ajax,但它的響應是no properties但數據已經在表中,請任何人幫我擺脫這一點。

回答

1

首先,檢查該功能將返回結果或不

public function GetRow($keyword) {  
    $this->db->like('user_type', $keyword, 'both'); 
    return $this->db->get('lc_user_types')->result_array(); 


} 

如果返回改變功能

$(function() { 
    $("#user_role").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "ajax/search_username", 
      dataType: "json", 
      data: request, 
      success: function(data){ 
       response($.map(data, function (value, key) { 
         return { 
          id:key, 
          label: value, 
          value: value 
         }; 
        })); 
      } 
     }); 
    }, 
    minLength: 1, 
    select: function(event, ui) { 
     //Do something extra on select... Perhaps add user id to hidden input  
    }, 

}); 
}()); 
+0

獲得響應,但不顯示結果作爲drowpdown .. – Prasanga

+0

你有沒有更改JavaScript功能。將結果數組作爲關鍵值進行管理。 Ie array([0] =>'sudhir',[1] =>'prasanga') – Sudhir

+0

已更改,但未顯示結果作爲下拉列表 – Prasanga

相關問題