问题标签 [bloodhound]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
660 浏览

asp.net-mvc - 我应该以用户类型查询数据库还是将工作留给 Bloodhund?

我正在使用 Typeahead.js 在我们的 webapp 中搜索产品。我们目前正在使用 Bloodhound 远程获取建议。在服务器中,我正在使用用户输入的字符串进行数据库查询。但我怀疑,使用 Bloodhound 的想法不是在服务器中这样做......

我的JS代码如下:

我的产品控制器中有一个操作来检索产品列表......所以在 Prefetch 我只返回 ACTIVE 产品......但是你是否在文本框中写了一些东西,远程选项被触发并返回所有匹配查询。

我的 GetData 操作代码:

第一个问题:[已解决]尽管查询在 Prefetch 数据中输入了匹配的值,但它从远程数据中返回值。为什么是这样?解答Bloodhound 标记器需要一个数据字段/属性作为参数。“值”不是我的数据中的属性......在我的卡索中更改为“名称”解决了这个问题。

第二:我应该使用用户在远程方法中输入的查询值来查询数据库,还是应该返回一个大列表让Bloodhound完成工作?

第三:[已解决]我使用了该minLength: 3选项,希望它会在输入中的 3 个字符后开始建议/搜索,但我看到它是在按下第一个键后触发的。回答:此选项是顶级的,与数据集无关,因此在我的代码中,我将nulltypeahead init 中的参数替换为{ minLength: 3}并且它有效。

0 投票
1 回答
319 浏览

jquery - 与 jQuery Validation 插件的 twitter Bloodhound 冲突

我正在使用 twitter 的 Bloodhound 建议引擎,以下是我正在使用的代码片段

Ajax 请求没有触发我在上面的代码片段中提到的内容,如果页面中不包含 jQuery Validation 插件,那么它工作正常。

如何克服这个问题?

更新:

我已经将 jQuery 验证插件从 1.7 升级到最新(1.12)然后它解决了这个问题,但我不知道这背后的原因是什么。如果有人知道确切原因,请发布答案。

0 投票
1 回答
1500 浏览

jquery - typeahead.js 默认选择第一个建议

我正在使用 sifyion 的 angularJS 库进行 typeahead,它实际上使用 typeahead.js 和 Bloodhound.js 和 jquery。我有 typeahead.js v 0.10.2 和 jquery 1.10.2。我的目标是创建一个搜索功能,用户只能从建议中进行选择。所以我以一种方式实现它,如果没有选择建议的结果,则提交带有 Null 参数的查询,否则提交建议。我已将我的选项设置为

我有三个数据集,例如:

我为所有这些调用清除缓存并在之后初始化它们,只是为了让你知道。我不是这方面的专家,但这样做可以解决我的目的

然后我将其设置为建议渲染,例如:

我的问题是,如果用户输入搜索词,我希望选择第一个建议(如果有的话)。我在 twitter typeahead.js github 存储库中查找了解决问题的解决方案。我一直无法找到让它们为我工作的方法。请帮助我或建议我以不同的方式实现它。

提前致谢

0 投票
1 回答
873 浏览

asynchronous - 如何在 typeahead/bloodhound 中异步设置请求标头

环境:

  • 我正在使用 typeahead/bloodhound 作为我的移动应用程序中的搜索字段(类固醇/cordova)
  • 从我的应用程序到 API 的每个请求都需要签名并将签名添加到 auth 标头

显然,在 ajax 设置中设置标头将不起作用,因为 Bloodhound 发送的每个请求都会不同并且需要不同的签名。

在我的第一个实现中,我使用beforeSendajax 设置来实现这一点。只需计算该函数中的签名并将其添加到请求标头中。

但是,这不是很安全,所以我决定将使用的秘密和签名计算放入 Cordova 自定义插件的本地代码中进行编译。不是防弹,而是合理的安全性。

由于 Cordova 插件是异步的,beforeSend在这种情况下变得毫无用处。该功能将在标头的签名和设置完成之前完成。

所以,总而言之,问题是:我怎样才能异步计算和设置那些带有 typeahead/bloodhound 的标头?

0 投票
2 回答
3572 浏览

javascript - Twitter typeahead 猎犬令牌不起作用

令牌不起作用,当我输入“east”、“home”或“trap”时,它应该提示“Inkoopverenigingen”,这是怎么回事?

json:

]

javascript:

html:

html模板:

0 投票
1 回答
1099 浏览

jquery - 将 Typeahead 与 Google 自定义搜索引擎结合使用

我正在尝试让 Twitter Typeahead+Bloodhound 与 Google 的 CSE 一起工作。

到目前为止,我已经设法让结果返回,但我无法计算出 datumTokenizer。

见小提琴:http: //jsfiddle.net/thugsb/3KAjh/

你会看到我已经得到了从 showResults() 返回的结果作为一个数组。但是,从 中调用 showResults()filter:似乎没有做任何事情,因为删除该行没有任何效果。所以我不太确定发生了什么。

请注意 duffCallback 是我通过阅读这个问题所做的。如果有更好的方法来完成这项工作,我会全力以赴!

0 投票
1 回答
2711 浏览

javascript - 如何使用 Typeahead / Bloodhound 设置“Access-Control-Allow-Origin”标头?

我正在尝试集成一个使用 REST 获取其信息的自动完成字段。我正在使用 Typeahead/Bloodhound。我跟进了文档中的示例,但我无法在任何地方找到如何设置标头以使其正常工作。例如,这是代码:

这是我在控制台日志中从服务器得到的响应:

任何建议将不胜感激。

谢谢!

0 投票
0 回答
1766 浏览

javascript - 将 Bloodhound 远程过滤器设置为从过滤器内部进行的 ajax 调用的结果

我正在使用 Bloodhound 的remote选项为 Typeahead.js 0.10.2 中的 Typeahead 自动完成提供建议。url当我使用远程选项发出单个 ajax 请求时,一切正常;

我可以使用该filter选项来操作建议,并且 Typeahead 正在正确填充。

但是,我需要 Bloodhound 实例 (1) 发出 ajax 请求remote然后(2) 发出各种后续 ajax 请求以收集有关响应的更多信息,并在将值显示给用户之前进一步调整它们。

Remote 的 ajax 请求根据用户输入的内容在 tmdb 中搜索电视节目,而我随后的 ajax 请求将收集有关每个电视节目结果的更多信息,以便我可以向用户提供更好的自动完成建议。

我的过滤器函数当前发出那些后续的 ajax 请求,适当地调整建议,并构建一个对象数组。

问题是如何让过滤器函数将该数组返回给 Bloodhound。就目前而言,我已经尝试过使用defferedssetTimeout函数(毫无疑问,不熟练),但我得到的自动完成建议只是“未定义”。

我已经进行了广泛的搜索,并且我知道您不能简单地返回 ajax 请求的结果,因为返回通常会在请求完成之前发生。

我知道的通常解决方案是将 ajax 响应提供给回调,但我看不出回调如何帮助我从过滤器函数中返回数组,因为 Bloodhound 需要。

我正在使用 jQuery 和 Coffeescript,但下面是我使用 jQuery 和 Javascript 的代码框架。提前感谢您的任何指导。

0 投票
4 回答
12951 浏览

typeahead - typeahead, bloodhound : 远程工作但不预取

我想使用预取,但我不能让它工作!这是我的代码:

它不起作用。

如果我使用远程而不是预取它可以工作!

我无法理解。

谁能帮我 ?

0 投票
0 回答
267 浏览

javascript - 引导对多个数据键的预输入搜索

airports.js 包含以下数据结构:

[{“代码”:“LGW”,“名称”:“盖特威克机场”,“位置”:“伦敦,英国”},{“代码”:“LHR”,“名称”:“希思罗机场”,“位置": "伦敦,英国"}]

搜索“盖特威克机场”会返回以下结果:“LGW - 盖特威克机场”。

搜索“LGW”或“伦敦”不会返回任何结果。

我想搜索所有键:代码名称位置,但不知道该怎么做,有什么想法吗?