Прежде всего, да, я знаю, что есть другие вопросы, подобные этому уже, и я пробовал решения там, но не повезло.jquery autocomplete не работает с codeigniter
Я использую автозаполнение PHP, codeigniter и jquery. Я следую this учебник, и он не работает.
Моя модель:
class Tags_model extends Model{
function get_tag($q){
$db = mysqli_connect("localhost","root","","km_portal") or die("Could not connect");
$query = mysqli_query($db,"SELECT * FROM resource WHERE tags LIKE '%".$q."%'");
if(mysqli_num_rows($query) > 0){
while($row = mysqli_fetch_array($query)){
$new_row['label']= $row['tags'];
$new_row['value']= $row['tags'];
$row_set[] = $new_row; //build an array
}
echo json_encode($row_set); //format the array into json
}}}
Мое мнение:
<?php echo form_open('search/do_search');?>
<input type="text" name="search" id="tags" placeholder="Search tags"/>
<input type="submit" value=">>" />
<span id="noMatches"></span>
</form>
с JavaScript:
<script type="text/javascript">
$(jQuery(document).ready(function(){
$("#tags").autocomplete({
source: "search/get_tags",
response: function(event,ui){
if (ui.content.length === 0) {
$("#noMatches").html("No matches");
} else {
$("#noMatches").empty();
}
}
});
}));
И затем, наконец, мой контроллер:
function get_tags(){
$this->load->model('tags_model');
if(isset($_GET['term'])){
$q = strtolower($_GET['term']);
$this->tags_model->get_tag($q);
}}
Проверка консоли Chrome, когда я пытаюсь ее запустить, похоже, что параметр «термин» присоединяется к URL-адресу, создав его: localhost/km/index.php/search/get_tags?term=a
. Я получаю ошибку 404 (не найден)
Любая помощь будет действительно оценена. Я застрял с этим больше месяца (это первый раз, когда я использую codeigniter, кстати).
Спасибо!
EDIT: используя следующие JS:
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>jquery-ui-1.11.4.custom\jquery-ui.css"/>
<script type="text/javascript" src="<?php echo base_url();?>jquery-ui-1.11.4.custom\external\jquery\jquery.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>jquery-ui-1.11.4.custom\jquery-ui.js"></script>
Добавили ли вы 'jquery.ui.js'? – AnkiiG
Привет, да, я уже связался с ним. Спасибо, что напомнил мне об этом. –