我很难弄清楚如何使用 typeahead 以 json 文件作为源来显示对象列表。我的数据都没有显示。
我想列出名称,并在选择时将其他属性用于其他事物。
../data/test.json
[
{"name": "John Snow", "id": 1},
{"name": "Joe Biden", "id": 2},
{"name": "Bob Marley", "id": 3},
{"name": "Anne Hathaway", "id": 4},
{"name": "Jacob deGrom", "id": 5}
]
测试.js
$(document).ready(function() {
var names = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace("name"),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: '../data/test.json'
}
});
names.initialize();
$('#test .typeahead').typeahead({
name: 'names',
displayKey: 'name',
source: names.ttAdapter()
});
)};
测试.html
<div id="test">
<input class="typeahead" type="text">
</div>
** 如果有人可以向我解释 datumTokenizer 和 queryTokenizer 是什么,那就太好了 **