如何获得仅匹配字符的第一个字符匹配结果
问题描述:
我只想显示从用户输入的匹配字符开始的结果。我想避免它们发生在中间。我怎样才能在打字前做到这一点。如何获得仅匹配字符的第一个字符匹配结果
这里是我的js代码:
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: '/getcities'
});
$('#city').typeahead({
hint: true,
highlight: true,
minLength: 3,
limit: 10
}, {
name: 'cities',
source: cities
});
答
你必须重新定义datumTokenizer。这是假设您的自动补全值是针对对象阵列中的字段“键”的示例
datumTokenizer: function(d){
var tokens = [];
var stringSize = d.key.length;
for (var i = 0; i<= stringSize; i++){
tokens.push(d.key.substr(0, i));
}
return tokens;
},