2014-10-29 29 views
0

我遇到的問題是當我開始鍵入時,建議顯示,但只按字母順序顯示,不更新。就好像它不根據我的輸入過濾結果。據我可以告訴我正確獲取數據。 json響應來自The Echo Nest here。我後面的信息是來自json響應的流派名稱。twitter typeahead.js沒有更新建議

var search = new Bloodhound({ 
datumTokenizer: function(data) { return Bloodhound.tokenizers.whitespace(data.name); }, 
queryTokenizer: Bloodhound.tokenizers.whitespace, 
       limit: 3, 
       remote: { 
       url:'http://developer.echonest.com/api/v4/artist/list_genres?api_key= JSSXGZIEPOLRS21K7&format=json', 
         filter: function(search) { 
         return $.map(search.response.genres, function(data) { return {  name: data.name }; }); 
         } 
       } 
}); 

search.initialize(); 
$('.typeahead').typeahead(null, { 
       name: 'genres', 
       displayKey: 'name', 
       source: search.ttAdapter() 
}); 

http://jsfiddle.net/o9pcso1u/1/

回答

1

在這裏我要回答我的問題。所以事實證明我使用了錯誤的查詢。這本來是

http//developer.echonest.com/api/v4/genre/search?api_key=JSSXGZIEPOLRS21K7&format=json&results=10&name=%QUERY

其中,%QUERY是,我猜通過typeahead.js使用的文本輸入字段這就是搜索對抗。 隨着原始查詢:

http://developer.echonest.com/api/v4/artist/list_genres?api_key= JSSXGZIEPOLRS21K7&format=json

沒有在哪裏添加%QUERY,因爲它只是返回的清單,該清單是不可搜索上述查詢。