Javascript 使用Typeahead.js'显示总结果计数;s预取

Javascript 使用Typeahead.js'显示总结果计数;s预取,javascript,typeahead.js,bloodhound,Javascript,Typeahead.js,Bloodhound,我正在使用Typeahead.js,它的实现看起来与以下文件中的“多个数据集”非常相似: var nbaTeams=新猎犬({ datumTokenizer:Bloodhound.tokenizers.obj.whitespace('team'), queryTokenizer:猎犬,标记,空白, 预回迁:“../data/nba.json” }); var nhlTeams=新猎犬({ datumTokenizer:Bloodhound.tokenizers.obj.whitespace('t

我正在使用Typeahead.js,它的实现看起来与以下文件中的“多个数据集”非常相似:

var nbaTeams=新猎犬({
datumTokenizer:Bloodhound.tokenizers.obj.whitespace('team'),
queryTokenizer:猎犬,标记,空白,
预回迁:“../data/nba.json”
});
var nhlTeams=新猎犬({
datumTokenizer:Bloodhound.tokenizers.obj.whitespace('team'),
queryTokenizer:猎犬,标记,空白,
预取:“../data/nhl.json”
});
var footer=函数(上下文){
//在这里计算总点击量
返回“”;
}
$('#多个数据集.typeahead').typeahead(null,{
名称:“nba球队”,
显示:“团队”,
资料来源:nbaTeams,
模板:{
标题:“NBA球队”
},
限额:3
},
{
名称:“nhl团队”,
显示:“团队”,
资料来源:nhlTeams,
模板:{
标题:“NHL团队”,
页脚:页脚
},
限额:3
});
我正在使用最新版本的Typeahead.js(v0.11.1)。我试图在NHL团队部分的底部添加一个页脚模板,其中包含匹配结果的总数。类似于
。我在文档中找不到任何地方可以从《猎犬》中提取总命中数


我见过有人用远程数据源这样做,但我的数据源很小,可以拉入并缓存,所以我想使用预取。

我认为你的其他代码非常好,你只需要用下面的代码更新你的
footer
函数

var footer = function (context) {
    // calculate total hits here
    return "<a href='#'>browse all <b>" + context.suggestions.length + "</b> results</a>";
}
var footer=函数(上下文){
//在这里计算总点击量
返回“”;
}

看看fiddle。

当我输入“a”时,它说“查看所有1个结果”,但屏幕上显示了3个。此外,可能有20个结果中有a。。。我想要20。对于您的第一个查询,它说“查看所有1个结果”,因为您的页脚模板用于第二个数据集,而其他两个结果来自第一个数据集。对于您的第二个查询,它是一个插件,Mathces仅以tokes开头。如果你想匹配任何字符,那么你可以找到一个解决方案,我想匹配两个数据集中的任何字符,而不仅仅是页脚所附加的字符。好的,我已经根据你的要求更新了fiddle。这是有点棘手,看看下面的小提琴,让我知道如果你有任何疑问。当您将每个typeahead的限制增加到20,并输入c时,您总共得到5个结果。我希望我的typeahead在第一部分限制为2,在第三部分限制为1,并且仍然显示5个“总结果”,而不是3个“总结果”。原因是我的搜索结果页面本身将有5个结果。。。我希望实现“”
var footer = function (context) {
    // calculate total hits here
    return "<a href='#'>browse all <b>" + context.suggestions.length + "</b> results</a>";
}