控制器: Welcome.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
function __construct()
{
parent :: __construct();
$this->load->helper(array('form', 'url', 'captcha', 'email'));
$this->load->model('Main_tutorial');
}
public function index()
{
$this->load->view('index');
}
public function get_tutorial(){
$keyword=$this->input->post('keyword');
$data=$this->Main_tutorial->getrow($keyword);
echo json_encode($data);
}
}
模型。的 Main_tutorial.php
<?php
class Main_tutorial extends CI_Model
{
function __construct()
{
parent::__construct();
}
public function getrow($keyword) {
$this->db->order_by('id', 'DESC');
$this->db->like("tutorial_name", $keyword);
return $this->db->get('tutorial')->result_array();
}
}
查看: index.php
<input class="search-bg__text" type="text" name="tutorial_name" id="tutorial_name" autocomplete="off" placeholder="search....">
<ul class="dropdown-menu tutos" role="menu" aria-labelledby="dropdownMenu" id="Dropdowntuto"></ul>
custom.js
$(document).ready(function () {
$("#tutorial_name").keyup(function () {
$.ajax({
type: "POST",
url: "http://localhost/codeigniter/welcome/get_tutorial",
data: { keyword: $("#tutorial_name").val()},
dataType: "json",
success: function (data) {
if (data.length > 0) {
$('#Dropdowntuto').empty();
$('#tutorial_name').attr("data-toggle", "dropdown");
$('#Dropdowntuto').dropdown('toggle');
}
else if (data.length == 0) {
$('#tutorial_name').attr("data-toggle", "");
}
$.each(data, function (key,value) {
if (data.length >= 0)
$('#Dropdowntuto').append('<li role="displayTuto" ><a role="menuitem dropdowntutoli" class="dropdownlivalue">' + value['name'] + '</a></li>');
});
}
});
});
$('ul.tutos').on('click', 'li a', function () {
$('#tutorial_name').val($(this).text());
});
});
在这段代码中,我想使用json,codeigniter创建一个自动完成建议框。现在,当我运行路径时,我将其放入我的custom.js文件中,它会在json中显示所有数据。但是当我在文本字段内写字时,它没有显示任何我不知道背后的问题是什么。那么,我该如何解决这个问题呢?请帮帮我。
谢谢
答案 0 :(得分:0)
在custom.js
文件中,value['name']
必须与value.name