无法读取未定义的属性“长度”

时间:2014-02-23 22:55:31

标签: jquery typeahead.js twitter-typeahead

我试图在typeahead中使用模板但是我有这样的错误:无法读取未定义的属性'length'

脚本是:

var countriesBasic = new Bloodhound({
        datumTokenizer: function(d) { return d.tokens; },
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        prefetch: 'assets/json/countries.json'
    });

countriesBasic.initialize();

$('#countriesList').typeahead(null, {
      name: 'countries',
      displayKey: 'name',
      source: countriesBasic.ttAdapter(),
      templates: {
        suggestion: Handlebars.compile([
          '<p class="country-name">{{name}}</p>',
          '<p class="country-iso">{{iso}}</p>',
          '<p class="country-description">{{capital}}</p>'
        ].join(''))
      }
});

json文件是

[{
    "id": 1,
    "iso": "US",
    "capital": "Washington",
    "name": "United States"
},{
    "id": 2,
    "iso": "FR",
    "capital": "Paris",
    "name": "France"
}]

似乎我的json文件中存在一个错误,因为当我使用demo中的文件时它可以工作,但我没有看到问题......

0 个答案:

没有答案