这是我的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 时,它根本不起作用。我在这里做错了什么?
最佳答案
Tokens 是一个数组,它需要一个字符串。您可以尝试 d.tokens.join(' ')
,但不确定是否需要围绕 d 的 jQuery 选择器 ($
)。
关于javascript - Bootstrap Typeahead Bloodhound 分词器不适用于多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21933532/