2012-04-08 134 views
1

解决方案:jQueryUI的自动完成不工作PHP

的问题是,在我的PHP代码中,我有一个调试消息:打印$ _ GET [“长期”]; 它也将结果返回给客户端。

我实现与自动完成功能的搜索,但连接到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> 
+0

为什么你使用'的jQuery(函数($){'? – Incognito 2012-04-08 22:09:38

+0

我是新手,刚看到有人使用它。你能告诉我,我应该怎么用? – performanceuser 2012-04-08 22:10:37

+0

http://jqueryui.com/ demos/autocomplete/ – Incognito 2012-04-08 22:11:22

回答

-1

根据这里的jquery文档http://jqueryui.com/demos/autocomplete/

它声明结果可以是名称值对或只是一个数组或字符串..所以,而不是你的回声这样的回声。

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

我试着echo'[“abc”,“def”]';,但不帮 – performanceuser 2012-04-08 22:19:23

+0

尝试检查从服务器获取的响应..通过去开发人员工具“F12”..看起来得到你应该得到你的回应。如果不是的话......问题出在服务器端..否则问题在于客户端代码 – 2012-04-08 22:26:55

+0

你很rocks。。问题是在我的PHP代码我有一个调试代码,打印出阵列,删除它后,它wokrs – performanceuser 2012-04-08 22:30:29

0

尝试本作你的search.php:

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

做这个改变后不起作用 – performanceuser 2012-04-08 22:08:06

+0

仍然没有运气。 json字符串是有效的。 – performanceuser 2012-04-08 22:23:22