YUI自动完成返回整个JSON对象

时间:2015-07-10 22:40:55

标签: jquery json autocomplete

我正在尝试实现YUI's AutoComplete窗口小部件,但我无法让它显示我想要的内容。

这是拉取JSON对象的调用

var dataSource = new Y.DataSource.IO({
    source: '/search'
});
Y.one('#search-string').plug(Y.Plugin.AutoComplete, {
    resultHighlighter: 'phraseMatch',
    resultTextLocator: 'response',
    requestTemplate: '?search-string={query}',
    source: ACDataSource,
    maxResults: 5
}

但整个对象显示在我的自动填充框

{
  "content": [
    {
      "name": "Billy Bob",
      "id": 155,
      "address": "123 Little Billy Ln",

    }
}

我只是试图显示“名称”值,而不是整个对象。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要设置resultListLocator并正确设置resultTextLocator。从文档

  

AutoComplete自动知道如何处理结果   作为一个简单的数组,它需要一些额外的信息才能   找到隐藏在对象层次结构中的结果数组。那是   resultListLocator配置属性的来源。

  

可以使用resultTextLocator配置属性来判断   自动完成如何在单个结果对象中查找某些文本,   很像resultListLocator属性告诉AutoComplete如何   在响应对象中查找结果数组。

顺便说一句,您似乎错误地输入了JSON - 数组未关闭。假设内容是结果数组

resultListLocator: 'content',
resultTextLocator: 'name',

应该让它运作