gpt4 book ai didi

javascript - Twitter 提前输入,Bloodhound 过滤器开始

转载 作者:行者123 更新时间:2023-12-03 11:24:38 24 4
gpt4 key购买 nike

我想使用“startswith”过滤器来过滤结果。现在,下面的代码获取与结果中任何单独单词匹配的所有内容。因此,当用户输入“ex”时,“example”和“一二示例”都会被过滤掉。如何更改此行为以便仅过滤掉“示例”?

var repos;

repos = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
prefetch: {
name: 'terms',
url: 'search.php',
}
});

repos.initialize();

$('input.typeahead').typeahead(null, {
name: 'repos',
source: repos.ttAdapter(),
templates: {
empty: '<div class="empty-message">No matches.</div>',
suggestion: Handlebars.compile([
'<div class="term-box" id="{{id}}">',
'<p class="term">{{termname}}</p>',
'</div>'
].join(''))
}
});

最佳答案

只需更改子字符串函数,如下所示:

var substringMatcher = function (strs) {
return function findMatches(q, cb) { // an array that will be populated with substring matches
var matches = [];

// regex used to determine if a string contains the substring `q`
//var substrRegex = new RegExp(q, 'i');

// we use starts with instead of substring
var substrRegex = new RegExp('^' + q, 'i');


// iterate through the pool of strings and for any string that
// contains the substring `q`, add it to the `matches` array
$.each(strs, function (i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});

cb(matches);
};
};

关于javascript - Twitter 提前输入,Bloodhound 过滤器开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26974309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com