1

解决方案:

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

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

html:

<input type="text" id="leaderboard_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> 
4

2 回答 2

0

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

$values = ['abc','def'];
echo json_encode($values);
于 2012-04-08T22:06:08.707 回答
-1

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

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

echo '["abc","def"]';
于 2012-04-08T22:15:45.837 回答