问题是我的自动完成仍然没有工作eventho我做了同样的教程(只是更改名称)
所以这是我的控制器:
public function __construct()
{
parent::__construct();
$this->load->model('Kepakaran_m');
$this->load->helper('url', 'form');
}
public function index()
{ $this->load->helper('form');
$autocomp_bidang = $this->Kepakaran_m->get_bidang();
$this->template->set('autocomp_bdg', $autocomp_bidang);
$this->template->set('kepakaran',$kepakaran_staff);
$this->template->render('profil/profilpersonal');
}
public function get_bidang() {
$keyword = $this->uri->segment(3);
$data = $this->dbsmk->from('kexpt103kodbidang')->like('bidang',$keyword)->get();
foreach($data->result() as $row)
{
$arr['query'] = $keyword;
$arr['suggestions'][] = array(
'value' =>$row->bidang
);
}
echo json_encode($arr);
}
我的模型如下:
function get_bidang(){
$sql= "SELECT bidang FROM kexpt103kodbidang ORDER BY bidang";
$query = $this->dbsmk->query($sql);
return $query->result();}
我的观点在这里:
<div class="col-sm-4 col-sm-offset-1">
<div class="form-group">
<div class="col-md-12">
<input type="text" class="form-control autocomplete" name="bidang" id="bidang" autofocus/>
</div>
</div>
</div>
<script type="text/javascript">
var site = "<?php echo site_url();?>";
$(function(){
$('#bidang').autocomplete({
serviceUrl: site+'expert/get_bidang',
});
});
</script>
答案 0 :(得分:0)
您需要调试您的功能。首先检查你的控制器是否正常工作。
您可以尝试以下代码:
<script type="text/javascript">
var site = "<?php echo site_url();?>";
$(function(){
$('#bidang').autocomplete({
serviceUrl: site+'expert/get_bidang/'+$(this).val()
});
});
</script>
您需要为关键字传递值。还尝试使用firebug检查实际调用的URL。
尝试通过在从控制器发送之前打印结果进行调试。您也可以尝试使用控制器中的静态数组。
如果调试中有任何问题,请告诉我。