问题标签 [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 投票
1 回答
2422 浏览

javascript - 如何使用 Bloodhound 获得 Typeahead 以处理 JSON 响应?

我试图弄清楚如何让typeahead.js 与 Bloodhound.js一起使用我的 JSON 结构。我想要的是一个预加载的 JSON 对象的预输入功能,该对象保持在范围内。以下是部分:

Data/Allurl 返回application/json具有以下结构的响应:

[{"Id":1010,"Name":"Andijvie", "Category":"Blad-en stengel gewassen"},{"Id":1020,"Name":"Broccoli","Category":"Blad - en stengel gewassen", (...)]

此外,我认为:

在 JavaScript 中:

当在 typeahead 输入字段中输入内容时,它总是会给出消息,即没有任何结果与查询匹配。当我通过 FireBug 查看 DOM 时,我看到数据由一个带有空元素的长列表组成。

我希望有猎犬/预输入经验的人可以为我指明正确的方向。我现在似乎无法弄清楚。谢谢。

0 投票
1 回答
774 浏览

twitter-bootstrap - 如何忽略部分模板以在 Typeahead.js 中突出显示?

我正在使用带有自定义模板和 Bootstrap css文件的 Bloodhound 预输入。我的模板与上面的第一个链接一样,如下所示:

不幸的是,模板中匹配的所有元素都会被高亮显示,因为它们在被选中时会获得“tt-highlight”css 类。看:

突出显示的问题

在页面的 HTML 中会发生这种情况:

我不希望Groeitijd: {{growingTime}}对模板中的部分进行这种突出显示。我知道如何删除所有突出显示,但不适用于模板中的特定部分。

有谁知道如何做到这一点?非常感谢。

0 投票
1 回答
1422 浏览

ruby-on-rails - Searchkick + Bloodhound + Typeahead 用于自动完成

我正在尝试为单个属性 实现一个简单的自动完成功能。

模型:

重新索引Rails 控制台上的行为后就可以了。

在此之后,我向控制器添加了自动完成操作,并为 routes.rb 文件添加了新路由。

控制器:

路线:

此时,如果我只是测试以下 URL:

然后我在浏览器中得到预期的结果

现在添加一个搜索框。

_header.html.erb:

最后是Javascript:

这是使用的脚本标签:

输入任何内容时搜索框都没有显示响应,谷歌浏览器的控制台上也没有显示错误。

0 投票
1 回答
1128 浏览

json - 本地 json 对象在 Typahead Bloodhound 中不起作用

我在表单字段中使用 Typeahead Bootstrap(带有 WP 框架)。

我有一个 .json 文件存储在我的根目录中,我可以使用预取来获取它:

菜单工作得很好。现在,假设我不想使用预取,而是将数据加载到本地 json 数组中。

我有相同的 json 文件,如下所示:

如果我将它直接加载到新的 Bloodhound 类中:

再次,就像一个魅力。但是,如果我尝试将相同的数据作为变量加载,而不是显式写入:

jsonObject = [{"title":"Title 1","content":"Loopty loos"},{"title":"Title 2","content":"Diddly Bones"}]

它不起作用。这似乎很简单,我只是完全想念它。

完全澄清,我正在查询 wp 数据库,并使用该结果集创建 json 文件并将其写入测试目录,然后使用 wp_localize_script 将其传递给 .js 文件。

0 投票
0 回答
68 浏览

javascript - 我怎样才能从 Bloodhound 获得来电者

我在 Bloodhound 中使用 typeahead,我需要从 Bloodhound 获取调用者元素 ID。这是代码:

正如您所看到的,例如,我将 %COUNTRY 替换为,$('#country_1').val()但我需要呼叫者 ID,获取索引,然后获取正确的 country_id。$('#country_+caller.getPartOfId()).val()

这是可能的吗?

0 投票
0 回答
736 浏览

typeahead.js - Typeahead Bloodhound 标记器 - 通配符搜索?

https://github.com/twitter/typeahead.js

Bloodhound 中是否有通配符搜索词的选项?

例如,如果描述是“从电影演员导入”,那么搜索将选择电影而不是演员;希望它搜索*term*而不仅仅是term*.

这是我的设置:

0 投票
1 回答
1041 浏览

php - Typeahead Bloodhound,将结果显示为未定义。错误的 JSON 类型?

我正在使用 Typeahead 进行自动完成搜索文本框,下拉结果显示为未定义。显然 PHP 确实构建了 JSON,我已经对其进行了测试。问题可能是错误的 JSON 类型。这是PHP:

这是脚本:

以下是 JSON 的示例:

谁能发现问题??

0 投票
0 回答
487 浏览

autocomplete - 用于多个数据集的 Typeahead/Bloodhound dupDetector

我有两个 Bloodhound 数据集,一个本地数据集和一个远程数据集。本地数据将始终在远程结果中重复。我找到了 Typeahead 文档中提到的 dupDetector 方法,但似乎只有当我的本地和远程数据集都构建在同一个 Bloodhound 对象中时,此方法才有效。

这是我的代码。有没有办法跨多个 Bloodhound 数据集过滤重复项?

0 投票
1 回答
540 浏览

knockout.js - 带有 Bloodhound 的 Twitter 预输入不会刷新带有 Knockout 绑定的列表

这可能是一个棘手的问题 - 我正在尝试将 Twitter 预输入与 Bloodhound 引擎和自定义 Knockout 绑定一起使用。在我的示例中,我有两个运动员名单(足球和足球)。我正在使用预输入从其中一个列表中选择一名运动员,并且我正在使用下拉列表来选择要从哪个列表中提取。

一旦从下拉列表中选择了一项运动,Bloodhound 引擎就会使用适当的运动员进行初始化,并创建预输入。更改运动时,将使用新的运动员列表创建新的 Bloodhound 引擎。问题是预输入仍然使用第一个运动员列表而不是新列表。

我已经调试过了,我知道 Bloodhound 引擎会使用新列表重新创建,然后 Twitter typeahead 会获取更新的源。但是很可惜,旧的列表在使用时会出现。我提交这个小提琴作为证据——别管风格,这一项正在进行的工作。简单解释一下代码:

顶部是AthleteTypeahead类,自定义athleteTypeahead绑定(直接在类之后)创建该类以初始化建议引擎和预先输入。底部是我的视图模型,它创建了两个不同的运动员列表。为了调试和我的理智,我已经在视图中显示了选定运动员的完整列表,并将列表发送到console.log每当创建新的 Bloodhound 建议引擎时 - 两个列表都正确更新。我试过打电话clear()clearPrefetchCache()在创建新引擎时,即使它是一个全新的引擎,但也没有运气。想法?

0 投票
0 回答
219 浏览

jquery - 我的第一个 Typeahead 演示,没有获得自动完成选项

嗨,我是 Typeahead 的新手,我尝试使用 Bloodhound 和 Typeahead 简单地加载自动搜索,但我没有得到任何搜索结果。

索引.html

在这里我没有得到自动完成选项这是我的第一个演示,所以无法理解我是否在 Bloodhound.js 中犯了错误,或者必须调整我从gifthub 网站下载的 typeahead.js