无法从数据库中获取 CI 自动完成功能
Can't get CI autocomplete from DB to work
我最近动手 CI 并且还在学习。
我的控制器:
public function test() {
$keyword=$this->input->post('search[1]');
$data=$this->hbc_model->search_autocomplete($keyword);
//echo json_encode($data);
$this->load->view('headfoot/test-header-main');
$this->load->view('test');
$this->load->view('headfoot/test-footer-main');
}
型号:
function search_autocomplete($search_term){
$this->db->select('v_city_name');
$this->db->like('v_city_name', $search_term);
$response = $this->db->get('vbc_city')->result_array();
// var_dump($response);
return $response;
}
并查看:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$( "#main-search" ).autocomplete({
source: 'hbc_Model/search_autocomplete'
});
});
</script>
</head>
<body>
<input type="text" id="main-search" name="search[1]" size="20" />
</body>
当我从模型中取消注释 vardump 甚至回显来自控制器的 json 响应时,它从数据库中在整个页面上显示城市名称,但在用作自动完成时不起作用。
如有任何帮助,我们将不胜感激。
自动完成需要 proper formatted 源数据:
我会这样进行:
$response = $this->db->get('vbc_city')->result_array();
$outputString="";
foreach ($response as $city)
$outputString.="'".$city['v_city_name']."',";
print "[".substr(SoutputString,0,-1)."]";
die; // or else the page html will be printed too!
我最近动手 CI 并且还在学习。
我的控制器:
public function test() {
$keyword=$this->input->post('search[1]');
$data=$this->hbc_model->search_autocomplete($keyword);
//echo json_encode($data);
$this->load->view('headfoot/test-header-main');
$this->load->view('test');
$this->load->view('headfoot/test-footer-main');
}
型号:
function search_autocomplete($search_term){
$this->db->select('v_city_name');
$this->db->like('v_city_name', $search_term);
$response = $this->db->get('vbc_city')->result_array();
// var_dump($response);
return $response;
}
并查看:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$( "#main-search" ).autocomplete({
source: 'hbc_Model/search_autocomplete'
});
});
</script>
</head>
<body>
<input type="text" id="main-search" name="search[1]" size="20" />
</body>
当我从模型中取消注释 vardump 甚至回显来自控制器的 json 响应时,它从数据库中在整个页面上显示城市名称,但在用作自动完成时不起作用。
如有任何帮助,我们将不胜感激。
自动完成需要 proper formatted 源数据: 我会这样进行:
$response = $this->db->get('vbc_city')->result_array();
$outputString="";
foreach ($response as $city)
$outputString.="'".$city['v_city_name']."',";
print "[".substr(SoutputString,0,-1)."]";
die; // or else the page html will be printed too!