【发布时间】:2014-10-20 21:05:08
【问题描述】:
我对 jquery UI 自动完成插件有疑问。我不知道如何映射我从服务器返回的响应。
这是 JSON 结构:
{
categories: [
{
slug: "car-index",
name: "Car",
rank: "5"
},
{
slug: "anim-index",
name: "Animals",
rank: "29"
},
],
queries: [
"term1",
"term2"
]
}
我的自动完成代码:
$.ajax({
url: autocompleteUrl,
dataType: 'json',
data: {
q: request.term
},
success: function(data) {
response(
$j.map( data, function(item) {
return {
name: item.categories.name,
slug: item.categories.slug,
rank: item.categories.rank,
query: item.queries
}
})
);
此代码出错。如果我在 data.categories 上执行 map,我可以让它工作,但我还需要来自“查询”的信息我不知道如何从这两个地方返回结果。需要获取所有信息(查询、名称、slug、等级)才能在我的渲染函数中显示文本。
}).data('uiAutocomplete')._renderItem = function (ul, item) {
return $('<li></li>')
.append('<a><span>' + item.name + '</span> - <span>Rank: ' + item.rank + '</span></a>')
.data('ui-autocomplete-item', item)
.appendTo(ul);
};
我真的卡在那里,有人可以帮忙吗?
谢谢
【问题讨论】:
-
类别和查询有一对一的关系吗?
-
每个中的项目数总是不同的。每个示例可以有 2 个类别和 15 个查询。
标签: javascript jquery autocomplete