2013-10-29 27 views
2

我已經搜索了一個答案,但仍無法找到它。我想我做錯了什麼,但我不知道它是什麼。這是我的預輸入代碼:鍵入預取不起作用

$('.zoek').typeahead({ 
name: 'items01', 
prefetch: { 
url: '/models/_global.json', 
ttl: 1, 
}, 

template: '<div id="breed"> 
     <span>{{#lock}}<img src="/assets/img/lock-icon-small.png">{{/lock}}{{^lock}}<img src="/assets/img/empty-icon-small.png">{{/lock}}</span> 
     <span class="searchresult"><a href="article">{{value}}</a></span> 
     <span class="searchresult-type"> - {{type}} </span> 
     <span class="red">{{#popular}} - popular {{/popular}}</span> 
     <span class="red">{{#new}} - new {{/new}}</span> 

     </div>', 
engine: Hogan 

}); 

這是我_global.json文件:

{ 

"items": [ 

{"value":"making claims for ebook subscriptions", 
    "icon":"download-icon-small.png", 
    "type":"brochure", 
    "date":"12-10-2011", 
    "lock": false, 
    "popular": false, 
    "new": true, 
    "tag": ["ebook","claim"]}, 

{"value":"Claim discovery & Online Management Suite - English", 
    "icon":"download-icon-small.png", 
    "type":"case", 
    "date":"28-02-2010", 
    "lock": true, 
    "popular": false, 
    "new": false, 
    "tag": ["claim","online"]}, 

{"value":"Get access to all online ebook publishers ", 
    "icon":"download-icon-small.png", 
    "type":"factsheet", 
    "date":"17-08-2012", 
    "lock": false, 
    "popular": true, 
    "new": true, 
    "tag": ["online","ebook"]}, 

{"value":"Ebook catalogue in swetswise - howto", 
    "icon":"show-icon-small.png", 
    "type":"hint", 
    "date":"08-01-2009", 
    "lock": true, 
    "popular": false, 
    "new": false, 
    "tag": ["ebook","swetswise"]}, 

{"value":"Swetswise software improved: you can claim now!", 
    "icon":"download-icon-small.png", 
    "type":"press", 
    "date":"20-08-2002", 
    "lock": false, 
    "popular": true, 
    "new": false, 
    "tag": ["swetswise","claim"]} 
] 

} 

因爲一些其他的代碼就是靠這個格式JSON文件中不能有其他的格式。預取不工作,我想我必須使用過濾器。嘗試了所有我能找到的過濾器例子,但似乎沒有任何工作。我究竟做錯了什麼。

p.s. (當我省略json文件中的頂部大括號和關鍵「項目」時,它全部正常工作,所以js庫和Hogan沒有問題)

希望有人可以幫助我。

關於。 M.dekker

回答

2

經過一個良好的睡眠和一些想法,並找到了我的問題的答案。

預取塊添加以下代碼解決我的問題:

filter: function(data){ 
      // filter the returned data 
      return data.items; 
    }