问题标签 [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.
javascript - 如何使用 Bloodhound 获得 Typeahead 以处理 JSON 响应?
我试图弄清楚如何让typeahead.js 与 Bloodhound.js一起使用我的 JSON 结构。我想要的是一个预加载的 JSON 对象的预输入功能,该对象保持在范围内。以下是部分:
Data/All
url 返回application/json
具有以下结构的响应:
[{"Id":1010,"Name":"Andijvie", "Category":"Blad-en stengel gewassen"},{"Id":1020,"Name":"Broccoli","Category":"Blad - en stengel gewassen", (...)]
此外,我认为:
在 JavaScript 中:
当在 typeahead 输入字段中输入内容时,它总是会给出消息,即没有任何结果与查询匹配。当我通过 FireBug 查看 DOM 时,我看到数据由一个带有空元素的长列表组成。
我希望有猎犬/预输入经验的人可以为我指明正确的方向。我现在似乎无法弄清楚。谢谢。
ruby-on-rails - Searchkick + Bloodhound + Typeahead 用于自动完成
我正在尝试为单个属性 实现一个简单的自动完成功能。
模型:
重新索引Rails 控制台上的行为后就可以了。
在此之后,我向控制器添加了自动完成操作,并为 routes.rb 文件添加了新路由。
控制器:
路线:
此时,如果我只是测试以下 URL:
然后我在浏览器中得到预期的结果:
现在添加一个搜索框。
_header.html.erb:
最后是Javascript:
这是使用的脚本标签:
输入任何内容时搜索框都没有显示响应,谷歌浏览器的控制台上也没有显示错误。
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 文件。
javascript - 我怎样才能从 Bloodhound 获得来电者
我在 Bloodhound 中使用 typeahead,我需要从 Bloodhound 获取调用者元素 ID。这是代码:
正如您所看到的,例如,我将 %COUNTRY 替换为,$('#country_1').val()
但我需要呼叫者 ID,获取索引,然后获取正确的 country_id。$('#country_+caller.getPartOfId()).val()
这是可能的吗?
typeahead.js - Typeahead Bloodhound 标记器 - 通配符搜索?
https://github.com/twitter/typeahead.js
Bloodhound 中是否有通配符搜索词的选项?
例如,如果描述是“从电影演员导入”,那么搜索将选择电影而不是演员;希望它搜索*term*
而不仅仅是term*
.
这是我的设置:
php - Typeahead Bloodhound,将结果显示为未定义。错误的 JSON 类型?
我正在使用 Typeahead 进行自动完成搜索文本框,下拉结果显示为未定义。显然 PHP 确实构建了 JSON,我已经对其进行了测试。问题可能是错误的 JSON 类型。这是PHP:
这是脚本:
以下是 JSON 的示例:
谁能发现问题??
autocomplete - 用于多个数据集的 Typeahead/Bloodhound dupDetector
我有两个 Bloodhound 数据集,一个本地数据集和一个远程数据集。本地数据将始终在远程结果中重复。我找到了 Typeahead 文档中提到的 dupDetector 方法,但似乎只有当我的本地和远程数据集都构建在同一个 Bloodhound 对象中时,此方法才有效。
这是我的代码。有没有办法跨多个 Bloodhound 数据集过滤重复项?
knockout.js - 带有 Bloodhound 的 Twitter 预输入不会刷新带有 Knockout 绑定的列表
这可能是一个棘手的问题 - 我正在尝试将 Twitter 预输入与 Bloodhound 引擎和自定义 Knockout 绑定一起使用。在我的示例中,我有两个运动员名单(足球和足球)。我正在使用预输入从其中一个列表中选择一名运动员,并且我正在使用下拉列表来选择要从哪个列表中提取。
一旦从下拉列表中选择了一项运动,Bloodhound 引擎就会使用适当的运动员进行初始化,并创建预输入。更改运动时,将使用新的运动员列表创建新的 Bloodhound 引擎。问题是预输入仍然使用第一个运动员列表而不是新列表。
我已经调试过了,我知道 Bloodhound 引擎会使用新列表重新创建,然后 Twitter typeahead 会获取更新的源。但是很可惜,旧的列表在使用时会出现。我提交这个小提琴作为证据——别管风格,这是一项正在进行的工作。简单解释一下代码:
顶部是AthleteTypeahead
类,自定义athleteTypeahead
绑定(直接在类之后)创建该类以初始化建议引擎和预先输入。底部是我的视图模型,它创建了两个不同的运动员列表。为了调试和我的理智,我已经在视图中显示了选定运动员的完整列表,并将列表发送到console.log
每当创建新的 Bloodhound 建议引擎时 - 两个列表都正确更新。我试过打电话clear()
,clearPrefetchCache()
在创建新引擎时,即使它是一个全新的引擎,但也没有运气。想法?
jquery - 我的第一个 Typeahead 演示,没有获得自动完成选项
嗨,我是 Typeahead 的新手,我尝试使用 Bloodhound 和 Typeahead 简单地加载自动搜索,但我没有得到任何搜索结果。
索引.html
在这里我没有得到自动完成选项这是我的第一个演示,所以无法理解我是否在 Bloodhound.js 中犯了错误,或者必须调整我从gifthub 网站下载的 typeahead.js