我正在寻找的是不仅显示单词开头的建议,而且显示它是否符合单词的任何部分。
例如 如果我有一个单词列表 [Manimal, animal, person, erson]
当我键入 animal 或 ani 时,它应该同时显示 Manimal 和 animal 或者如果我键入 son 它应该同时显示人和儿子。
我如何使用 typeahead 和 bloodhound 做到这一点?
我试过了
var jobCodes = new Bloodhound({
datumTokenizer: function (d) { return [d.JobName]; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: "/api/jobservice/getjobcodes"
});
Or
var jobCodes = new Bloodhound({
datumTokenizer: function (d) { return Bloodhound.tokenizers.nonword(d.JobName); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: "/api/jobservice/getjobcodes"
});
最佳答案
创建/获取要检查的字符串数组,然后定义一个函数,该函数将字符串数组作为第一个参数,子字符串作为第二个参数。
然后创建一个空数组来保存结果(如果有的话)。
遍历数组中包含的每个字符串,如果其中任何一个包含子字符串,则将该字符串插入结果数组。
最后,如果有结果,返回结果。否则返回“无结果”。
var phrases = ["lazy", "little", "laughing", "ladies"];
var checkStringsForSubString = function(str, subStr) {
var results = [];
for (var i = 0; i < phrases.length; i++) {
if (str[i].indexOf(subStr) != -1) {
results.push(str[i]);
}
}
if (results.length > 0) {
return results;
} else {
return "no results";
}
};
checkStringsForSubString(phrases, "la");
关于javascript - 自动完成单词的任何部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22002050/