无法获得jQuery自动完成功能以返回任何内容。我究竟做错了什么?

时间:2010-07-26 21:59:39

标签: jquery ajax autocomplete

我正在使用从StackOverflow上的帖子中找到的一些Javascript。当我开始在输入中输入文本时,输入元素中会出现一个多刺的加载图形,但实际上并没有显示。

当我转到我的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);
 }

1 个答案:

答案 0 :(得分:0)

演示页面包含示例php后端实现的链接。

http://jquery.bassistance.de/autocomplete/demo/

简而言之,您需要使用请求参数(默认情况下为 q )。