2017-01-29 7 views
0

Это мой первый опыт работы с materializecss, и я хочу сделать функцию автонастройки более динамичной, добавив массив параметров, выбранных из БД, но он не " похоже, работает. Я сделал несколько попыток самостоятельно, и переполнение стека поиска и другие форумы почти целый день, но не смогли найти ответ на него.Использование массива, полученного 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, кажется, хорошо, например, это мой о/р:

[[{"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