参考以下代码。我使用来自jQuery ui的catcomplete,我希望从每个类别中获取国家列表,以便在搜索时显示但是我未定义我做错了什么?
这是我的对象数组:
24:category:"Afrika"
country:1:{label: "Namibia"}
2:{label: "Sydafrika"}
3:{label: "Tanzania"}
4:{label: "Madagaskar"}
25:category:"Asien"
country:1:{label: "Private: Södra Indien"}
2:{label: "Indonesien"}
3:{label: "Filippinerna"}
4:{label: "Indien"}
5:{label: "Thailand"}
这是我的功能:
$('#autocomplete').catcomplete({
source: function (request, response) {
//data :: JSON list defined
response($.map(TourArea, function (value, key) {
return {
category: value.category,
label: value.country.label,
}
}));
},
});
结果是:country array得到undefined Result
答案 0 :(得分:0)
现在我发现并且它有效。我只需将所有对象合并为一个。 How to make multi id array object to all in one
let newData = Object.values(data).map(v => {
let x = [];
for (let k in v) x.push(v[k]);
return x;
}).reduce((c, v) => {
c = c.concat(v);
return c;
}, []);
自动完成功能:
$('#autocomplete').catcomplete({
source: newData,
});
完成所有工作正常。