如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成
Posted
技术标签:
【中文标题】如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成【英文标题】:How to pass JSON Array inside JSON object to jQuery autocomplete 【发布时间】:2015-05-10 05:07:13 【问题描述】:我正在使用 jQuery 自动完成功能通过 Ajax 调用接收特定数据。我从 Ajax 调用收到的数据是一个 JSON 对象,其中包含一个 JSON 数组。我需要将此 json 数组的每个结果显示到自动完成搜索结果中。格式将是这样的:
"returnCode":"success",
"status":"success",
"searchResults" :["val":"123","val":"456","val":"789"]
现在我需要在自动完成下拉菜单中显示 123 456 和 789。在 formatItem 和 formatResult 中尝试了一些代码,但似乎没有达到目的。
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?
【问题讨论】:
【参考方案1】:试试
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/
【讨论】:
我曾尝试使用“源”来进行 ajax 调用。虽然不知何故它不起作用。永远不会进行 ajax 调用。 在帖子中尝试过模式?可以在原始帖子中包含$.ajax()
、.autocomplete()
吗? console
记录了什么?
什么都没有。似乎它根本不支持“源”的东西
可以在原帖中包含$.ajax()
,.autocomplete()
js
吗,创建stacksn-ps blog.***.com/2014/09/…,jsfiddle.net来演示?
所以基本上当我在自动完成中调用提供 url 参数的 java 方法时它可以工作 - $(modal).find(".seach").autocomplete("searchListItems.do",以上是关于如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成的主要内容,如果未能解决你的问题,请参考以下文章
将包含对象数组的 json 传递给 PostgreSQL 函数会引发格式错误的数组文字。意外的数组元素