2014-11-23 4 views
0

У меня есть файл .json с данными, и я хочу использовать тип Twitter для местоположения железнодорожных станций в файле .json. (См. Мой jsFiddle) Когда я использую текущий код, я сталкиваюсь с ошибками. При отображении, когда я начинаю вводить текст, результаты от typeahead «не определены» для каждой записи.Twitter Typeahead: undefined

Проблема заключается в методе источник:

source: function(query, process){ 
       $.getJSON("../data/stations.json", function(data){ 
        $.each(data.Stations.Station, function(key,val){ 
         if(val.Land == "NL"){ 
          stationsnamen.push(val['Namen'].Lang.toString()); 
          stationsdata.push(new Array(val.Lat, val.Lon, val['Namen'].Lang.toString())); 
         } 
        }); 
       }); 
       process(stationsnamen); 
      } 

Я не могу найти, почему она возвращается «неопределенные», а process(array) в первой к последней строке кода выше получает то же самое по сравнению с отдельным методом.

Example JSON

+0

Покажите, как данные станции выглядит. Что возвращается, когда вызывается «../data/stations.json». –

+0

Я добавил jsFiddle с примером JSON – JBehrens

ответ

1

Предложение в машинописном должно быть объект, а не простые строки.

Вы установки машинописный, чтобы отобразить свойство «значение» объекта

displayKey: 'value' 

Самый простой способ решить эту проблему, чтобы обернуть исходные строки в объекты JavaScript.

Как это:

stationsnamen.push({value: val['Namen'].Lang.toString() }); 
Смежные вопросы