这是我第一次使用materializecss,我想通过添加从DB获取的选项数组来使其自动完成功能更加动态,但它似乎不起作用。我自己做了几次尝试,搜索堆栈溢出和其他论坛差不多一天但找不到答案。
这是我的JS:
function fetchGlobalSkills(){
var skills = [];
$.ajax({
url: "/skills/global",
dataType: "json",
}).success(function(data){
$.each(data, function(key, value){
$.each(value, function (key, value) {
skills.push(value);
});
console.log(JSON.stringify(value));
});
});
$('input#skillSearch').on('focus', function(){
data = [];
skills.forEach(function () {
data.push(JSON.stringify(skills.skillName));
});
console.log(data)
});
}
fetchGlobalSkills();
我知道这不是最好的,但如果你能理解我的方法并帮助我解决这个问题,那就太好了。
另外,我检查了我的控制器的O / P,看起来很好,例如这是我的o / p:
[[{"skillName":"smart"}],[{"skillName":"confident"}]]
提前感谢您的帮助
更新:
我根据一个答案更新了上面的js,我得到的是:
数据数组中的 [undefined, undefined, undefined]
。预期结果是:
data:{
"fast": null,
"smart": null,
}
这样自动更正可以使用它
答案 0 :(得分:1)
获取这样的技能名称......
skills = [];//creates an array
data =[[{"skillName":"smart"}],[{"skillName":"confident"}]];//your data
data.forEach(function(element,index,array){
skills.push(element[0].skillName);
});
console.log(skills);