Я использую какой-то Javascript, который я нашел в посте на StackOverflow. Когда я начинаю вводить текст во входные данные, внутри элемента ввода появляется колючая загрузка, однако на самом деле ничего не появляется.
Когда я захожу на свой URL-адрес, который возвращает строку в кодировке JSON, просто чтобы проверить его, кажется, что он работает нормально:
http://xxxxxxxx/app/get_clients/test (get_clients - это функция, test - строка для поиска)
Возвращает:
["Testing", "Testing1", "test11", "test4", "Testing21", "Just Testing", "testy"]
Есть идеи, что я делаю не так?
Вот мой JavaScript:
format_item = function (item, position, length)
{
return item.title;
}
prep_data = function(data)
{
tmp = $.evalJSON(data);
parsed_data = [];
for (i=0; i < tmp.length; i++)
{
obj = tmp[i];
parsed_data[i] =
{
data: obj ,
value: obj.isbn13,
result: obj.title
};
}
return parsed_data
}
$(document).ready(function()
{
$("#file_hide").hide();
$("#<?php echo $this->form_name['company']; ?>").autocomplete({
url : "<?php echo site_url("app/get_clients"); ?>",
parse: prep_data,
formatItem: format_item,
});
});
И мой PHP:
function get_clients($s)
{
$this->db_common->like('name', $s);
$query = $this->db_common->get('clients');
$results = array();
foreach ($query->result_array() as $row):
$results[] = $row['name'];
endforeach;
echo json_encode($results);
}