为什么 Jquery-ui 自动完成在 codeigniter 中不起作用?
Why Jquery-ui autocomplete is not working in codeigniter?
我正在开发ui博客应用程序。我有一个搜索框,它将建议类别作为用户类型。所以我使用 jquery-ui 自动完成。但不确定为什么它不起作用。我是新手,花了一整天。请帮忙。这是我的代码。
型号:
public function getCategoriesJson ($keyword) {
$this->db->select('cat_name');
$this->db->from('categories');
$this->db->like('cat_name', $keyword);
$data = $this->db->get()->result_array();
$output = array();
if ($data) {
foreach ($data as $d) {
array_push($output, $d['cat_name']);
}
}
echo json_encode($output);
}
查看:
控制器:
public function getCatJson () {
$this->Category_model->getCategoriesJson($this->input->get('query'));
}
脚本:
$('#search').autocomplete({
source: '<?php echo base_url(); ?>categories/getCatJson?query=' + $('#search').val(),
minLength: 1
});
终于找到解决办法了。我更改了我的模型函数代码和我的脚本,如下所示并且它有效。
型号:
public function getCategoriesJson($keyword)
{
$this->db->select('cat_name');
$this->db->from('categories');
$this->db->like('cat_name', $keyword);
$data = $this->db->get()->result_array();
$output = array();
if($data)
{
foreach($data as $d)
{
array_push($output, ['label' => $d['cat_name']]);
}
}
echo json_encode($output);
}
脚本:
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: '<?php echo base_url(); ?>categories/getCatJson',
type:'GET',
dataType: "json",
data: {
query: request.term
},
success: function (data) {
response(data);
},
error: function (message) {
response([{'label': 'Not found!'}]);
}
});
},
minLength: 2
});
我正在开发ui博客应用程序。我有一个搜索框,它将建议类别作为用户类型。所以我使用 jquery-ui 自动完成。但不确定为什么它不起作用。我是新手,花了一整天。请帮忙。这是我的代码。
型号:
public function getCategoriesJson ($keyword) {
$this->db->select('cat_name');
$this->db->from('categories');
$this->db->like('cat_name', $keyword);
$data = $this->db->get()->result_array();
$output = array();
if ($data) {
foreach ($data as $d) {
array_push($output, $d['cat_name']);
}
}
echo json_encode($output);
}
查看:
控制器:
public function getCatJson () {
$this->Category_model->getCategoriesJson($this->input->get('query'));
}
脚本:
$('#search').autocomplete({
source: '<?php echo base_url(); ?>categories/getCatJson?query=' + $('#search').val(),
minLength: 1
});
终于找到解决办法了。我更改了我的模型函数代码和我的脚本,如下所示并且它有效。
型号:
public function getCategoriesJson($keyword)
{
$this->db->select('cat_name');
$this->db->from('categories');
$this->db->like('cat_name', $keyword);
$data = $this->db->get()->result_array();
$output = array();
if($data)
{
foreach($data as $d)
{
array_push($output, ['label' => $d['cat_name']]);
}
}
echo json_encode($output);
}
脚本:
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: '<?php echo base_url(); ?>categories/getCatJson',
type:'GET',
dataType: "json",
data: {
query: request.term
},
success: function (data) {
response(data);
},
error: function (message) {
response([{'label': 'Not found!'}]);
}
});
},
minLength: 2
});