2017-01-29 20 views
0

這是我第一次使用materializecss,並且我想通過添加從數據庫中提取的選項數組來使其自動完成功能更加動態化,但它不會' t似乎工作。我做了幾次關於我自己和搜索堆棧溢出和其他論壇幾乎一天的嘗試,但無法找到答案。使用jQuery AJAX在materializecss'自動完成數據中提取的數組

這裏是我的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"}]] 

感謝您的幫助提前

UPDATE:

我根據一個答案更新了上面的js,我在這裏得到的是:

[undefined, undefined, undefined]在數據數組中。預期的結果是:

data:{ 
    "fast": null, 
    "smart": null, 
} 

這樣自動更正可以用它

回答

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);

+0

我可以這樣做:'數據= [$ .ajax({url:'/ skills/global',dataType:'json'})];'?使用ajax動態獲取數據? – sameer