【问题标题】:jqueryui autocomplete doesn't work in phpjqueryui自动完成在php中不起作用
【发布时间】:2012-04-08 21:58:10
【问题描述】:

解决方案:

问题是在我的 php 代码中,我有一条调试消息: print $_GET['term']; 它还将结果返回给客户端。

我正在使用自动完成功能实现搜索,但是在连接到 php 时遇到了一些问题,这是我的代码

html:

<input type="text" id="leaderboard_search" />

search.js:

jQuery(function($) {
$( "#leaderboard_search" ).autocomplete({
        minLength: 1,
        width: 240,
        source: 'search.php'
    });
});

搜索.php:

<?php 
    $values = array('abc','def');
    echo json_encode($values);
?>

当我输入一些东西时。它只是没有显示任何东西。我已经调试到 php 代码,search.php 被调用没有问题。所以我怀疑问题出在jquery方面。

我正在使用 jqueryui 1.8

更新:为了简化问题,我改成嵌入式js,还是不行:

html代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>

<script>
    $(function() {
    $( "#leaderboard_search" ).autocomplete({
        minLength: 2,
        width: 240,
        source: 'search.php'
    });
});
</script>
<html>
<fieldset class="searchinput"><input type="text" id="leaderboard_search" /></fieldset>
</html> 

【问题讨论】:

  • 你为什么使用jQuery(function($) {?
  • 我是新手,刚看到有人用过。你能告诉我应该用什么吗?
  • 另外我希望它在一个单独的文件中,而不是嵌入 js 代码
  • @Incognito,我改成嵌入式js代码,还是不行

标签: php jquery jquery-ui


【解决方案1】:

试试这个作为你的 search.php:

$values = ['abc','def'];
echo json_encode($values);

【讨论】:

  • 还是没有运气。 json 字符串有效。
【解决方案2】:

根据此处的 jquery 文档http://jqueryui.com/demos/autocomplete/

它声明结果可以是一个名称值对,也可以是一个数组或字符串。所以你应该像这样使用 echo smthing。

echo '["abc","def"]';

【讨论】:

  • 尝试检查您从服务器获得的响应。通过转到开发人员工具“F12”.. 并查看您应该在响应中获得的值。如果不是..问题出在服务器端..否则问题出在客户端代码
  • 你摇滚。问题出在我的 php 代码中,我有一个打印出数组的调试代码,删除它后,它会工作
  • 我不知道是谁干的。我已经选择了你的答案并更正了一个。
猜你喜欢
  • 2011-03-14
  • 1970-01-01
  • 2013-10-28
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 2014-09-12
相关资源
最近更新 更多