这是我的JavaScript:
<script type="text/javascript">
$(document).ready(function () {
var people = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.tokens); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: [
{
fullName: '',
"],
},
{
fullName: 'Marijus Merkevicius',
tokens: ["Marijus Merkevicius", "marijusm"],
},
]
});
// initialize the bloodhound suggestion engine
people.initialize();
// instantiate the typeahead UI
$('#${id }').typeahead(null, {
displayKey: 'fullName',
source: people.ttAdapter(),
});
});
</script>
当我使用return
Bloodhound.tokenizers.whitespace(d.fullName);
时,自动完成功能非常完美,但是当我返回d.tokens时,它根本不起作用。我在这里做错了什么? 最佳答案
令牌是一个数组,它需要一个字符串。您可以尝试d.tokens.join(' ')
,尽管不确定是否需要在d周围使用jQuery选择器($
)。