首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将JSON对象中的JSON数组传递给jQuery autocomplete

如何将JSON对象中的JSON数组传递给jQuery autocomplete
EN

Stack Overflow用户
提问于 2015-03-09 04:33:37
回答 1查看 657关注 0票数 0

我正在使用jQuery autocomplete通过Ajax调用接收特定数据。我从Ajax调用中收到的数据是一个JSON对象,其中包含一个JSON数组。我需要将此json数组的每个结果显示为自动完成搜索results.The格式,如下所示:

代码语言:javascript
运行
AI代码解释
复制
{
    "returnCode":"success",
    "status":"success", 
    "searchResults" :[{"val":"123"},{"val":"456"},{"val":"789"}]
   }

现在我需要在autocomplete下拉列表中显示123、456和789。我尝试了一些用formatItem和formatResult编写的代码,但似乎并不能满足需要。

代码语言:javascript
运行
AI代码解释
复制
formatItem: function(row,i,max) {
var returnObject = eval("(" + row + ")");
var searchResults = returnObject.searchResults;
if(searchResults.length>0){
    for(i=1; i<searchResults.length; i++){
        // What to do here?
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-03-09 06:26:12

试一试

代码语言:javascript
运行
AI代码解释
复制
var cache = {};
elem.autocomplete({
    minLength: 2,
    source: function(request, response) {
      var term = request.term;
      if (!!cache[term]) {
        response(cache[term][0]);
        return
      };
      cache[term] = [];
      $.getJSON("/path/to/json/")
      .then(function success(data) {
          var res = $.map(data.searchResults, function(val) {
            return val.val
          });          
          cache[term].push(res);
          response(res)
        }, function error(jqxhr, textStatus, errorThrown) {
             console.log(textStatus, errorThrown) // log `$.ajax` errors
      })
    }
});

jsfiddle http://jsfiddle.net/guest271314/wr1wg5df/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28935299

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文