DLe*_*Leh 11 javascript typeahead.js bloodhound
我下面这个例子为typeahead.js使用Bloodhound的T,但我得到一个JavaScript错误.我错过了什么?
HTML :( .net razor view)
@Scripts.Render(Links.Scripts.typeahead_bundle_js)
@Styles.Render(Links.Content.typeahead_min_css)
<input id="myInput" type="text" class="form-control" />
Run Code Online (Sandbox Code Playgroud)
JS:
$(function () {
var data = ["abce", "abcd", 'def', 'abcdef'];
var bh = new Bloodhound({
local: data,
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace
});
//bh.initialize(); //this wasn't in the example, adding it had no effect
$('#myInput').typeahead({
highlight:true
},
{
name: "testData",
source: bh
});
});
Run Code Online (Sandbox Code Playgroud)
给出错误typeahead.bundle.js:
this.source不是一个函数
bos*_*vic 14
这个给了我一个艰难的时间,因为和你一样,我正在做的所有内容都在示例中......我花了一些时间检查我使用的lib的确切版本并将其与示例中的一个.我使用打包在'twitter-typeahead-rails'宝石中的typeahead.js 0.10.5 ,在示例中使用的版本是typeahead.js 0.11.1.
一旦我切换版本,一切都开始正常工作.甚至没有必要将字符串数组重新映射到对象数组或在源上调用ttAdapter.您的代码可能会以您发布的方式工作...
引用来自twitter- typeahead changelog的版本0.11..0:
...此版本中有大量API更改,因此不要指望与以前版本向后兼容.还引入了许多新的未记录的功能.这些功能的文档将在v1发布之前添加....