2012-02-02 25 views
0

我有非常简单的形式从searchAlbum.php获取JSON格式的值。它在我开始输入内容时起作用,但它不会过滤结果,例如,即使我输入ab,它也会显示123可用。自动完成不会筛选结果当我打字

这是我的saerchAlbum.php正在恢复

["123","abc"] 

这是我的Java Script代码

$(document).ready(function(){ 
       $('.albumName').autocomplete({ 
        source: 'searchAlbum.php' 
       }); 
}); 

你可能会说,这不应该过滤我resoulds,我需要通过我的输入为paramater但为什么然后this在jquery-ui页上检查这对我来说?

+1

你认为这是服务器端代码的问题,而不是jQuery? – 2012-02-02 09:11:10

回答

0

该文档不清楚,但唯一一次autocompleter为您进行筛选时,您的代码根本没有被调用(例如,您已将它作为source的数组)。当你的代码被调用时(无论是客户端代码,因为你已经为source提供了一个函数,或者因为你提供了一个URL,所以服务器端代码),你的代码需要进行过滤。

你可能会说它不应该过滤我的答案,我需要通过我的输入作为参数,但为什么然后这个jquery-ui页上的检查为我做?

因为search.php页的例子调用过滤基础上,term参数autocompleter传递给它的结果。比较你从这些得到的结果:

http://jqueryui.com/demos/autocomplete/search.php?term=ti

http://jqueryui.com/demos/autocomplete/search.php?term=ro

你可以看到,它的过滤服务器端。

+0

谢谢,解决了我的问题 – sed 2012-02-02 09:15:30

0

js发送名为“term”的查询字符串参数,您的php代码需要通过过滤与“term”参数匹配的现有数据来返回数据。

0

这不是Javascript或jQuery问题,而是PHP问题。正如链接的jQuery-UI页面所述,源脚本必须通过GET请求处理“term”属性。