语义UI搜索模块不显示json响应

时间:2016-07-13 23:22:59

标签: javascript jquery json semantic-ui

我正在尝试让Semantic UI的搜索自动完成工作。一切似乎都在起作用,除了自动完成总是说没有找到结果的事实。

这是一个示例搜索:

enter image description here

即使服务器响应似乎工作正常,也是如此。

以下是使用JSON响应的服务器:

enter image description here

最后,这是我的JQuery代码:

$(".ui.search").search({
    apiSettings: {
        url : "/subtopics/search.json?query={query}"
    },
    fields: {
        results : 'subtopics',
        title : 'name'
    },
    minCharacters : 2
})
;

从我看到的所有示例中,这是告诉语义UI要查看哪些字段的正确方法,但它不起作用。

非常感谢任何有关此问题的帮助。

1 个答案:

答案 0 :(得分:2)

事实证明,使用语义UI文档(http://semantic-ui.com/behaviors/api.html#response-callbacks)中包含的onResponse回调是解决此问题的方法。

以下是最终工作的代码:

$(".ui.search").search({
    type: 'category',
    minCharacters: 3,
    apiSettings: {
        onResponse: function(serverResponse) {
            var
                response = {
                    results: {}
                }
            ;
            //translate Server API response to work with search
            $.each(serverResponse.subtopics, function(index, subtopic) {
                var
                    topic = subtopic.topic || 'Unknown',
                    maxResults = 8
                ;
                if(response.results[topic] === undefined) {
                    response.results[topic] = {
                        name: topic,
                        results: []
                    };
                }
                //add result to category
                response.results[topic].results.push({
                    title: subtopic.name
                });
            });
            return response;
        },
        url: "/subtopics/search.json?query={query}"
    }
})
;