JQuery UI自动完成功能不会将任何结果返回到页面

时间:2014-11-07 13:02:14

标签: javascript php jquery jquery-ui jquery-ui-autocomplete

我使用JQuery UI自动填充小工具向用户显示在我的搜索栏中输入的建议搜索。但是,我遇到了一个问题,即当用户键入内容时,结果不会显示给用户。

这是我的script

var $j = jQuery.noConflict();
    $j(document).ready(function(){  
        $j("#tag_search").autocomplete({                        
            source:'autocomplete_tags.php',
            dataType: 'json',
            minLength:1
    });
});

这是autocomplete_tags.php

require_once '../includes/preheader.php';//connects to db
$term = $_GET["term"];//Get the search terms. 

//Select tags from the database based on the specified search keyword
 $query  = "SELECT * FROM tag WHERE NAME LIKE '".$term."%' ORDER BY NAME ASC";
 $json=array();

 $db->query($query);//Query the DB.

 //Parse through the results and store in an array
 while($db->next()){
    $json[]=array(
            'id' => $db->get('id'),
            'value'=>$db->get("name"),
            'label'=>$db->get("description")
    );
 }
 //Autocomplete JQuery UI expects a Json Array so encode and echo. 
 echo json_encode($json);

如果我访问此网址,我可以在浏览器中看到一个json数组,其中包含结果,这让我相信它正常运行,但由于某种原因,结果没有显示。

http://my-site.tld/includes/autocomplete_tags.php?term=ag

输出:

[{"id":"29","value":"Agriculture","label":"This is a tag about agriculture and farming"}]

另外,我已经在我的控制台中检查了用户输入时正确找到该文件,并且我收到了200响应代码。

有谁知道可能导致这种情况的原因?我在另一个网站上实现了类似功能,但没有问题。这可能是造型问题吗?

1 个答案:

答案 0 :(得分:0)

好的,非常愚蠢的我没有意识到这一点,而不是删除这个问题,对于其他可能尝试做同样事情的人,你必须确保包括jquery-ui css文件。只需将其放在您网站的标题中即可:

<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/themes/smoothness/jquery-ui.css" />

就我上面的帖子而言,所有代码都是正确的并且正常工作,唯一缺少的就是上面的样式表。