【问题标题】:Can't get jQuery autocomplete to return anything. What am I doing wrong?无法让 jQuery 自动完成功能返回任何内容。我究竟做错了什么?
【发布时间】:2010-07-26 21:59:38
【问题描述】:

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

当我转到返回 JSON 编码字符串的 URL 来测试它时,它似乎工作正常:

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:

函数 get_clients($s) { $this->db_common->like('name', $s); $query = $this->db_common->get('clients'); $结果 = 数组(); foreach ($query->result_array() as $row): $results[] = $row['name']; 结束; 回声 json_encode($results); }

【问题讨论】:

    标签: jquery ajax autocomplete


    【解决方案1】:

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

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

    总之,需要使用请求参数(默认q)。

    【讨论】:

    • 嗯。我重写了我的 PHP 以与演示类似,但仍然没有运气。你确定不是我的 JavaScript 搞砸了吗?我的 PHP 脚本返回一个 JSON 编码的字符串。不确定请求参数是什么。
    • @dallen 你能在没有 php 脚本的情况下显示 html(就像在浏览器中一样)吗?另外,javascript控制台中是否有任何错误?
    猜你喜欢
    • 1970-01-01
    • 2020-01-13
    • 2013-08-06
    • 1970-01-01
    • 2010-09-14
    • 2015-01-26
    • 1970-01-01
    • 2012-04-07
    • 2016-07-18
    相关资源
    最近更新 更多