特定于上下文的typeahead with bootstrap 3

时间:2015-12-01 22:53:40

标签: twitter-bootstrap twitter-bootstrap-3 typeahead.js typeahead bootstrap-typeahead

我正在使用Bass Jobsen的Bootstrap 3 Typeahead,但是使用的是非标准用例。我有一个文本输入字段,我希望完整的句子,并希望帮助我的用户创建它们。我已经使用this answer中建议的匹配器和更新程序功能将建议的单词附加到句子的末尾。

我的问题在于定义特定于上下文的自动完成,因此如果我希望用户输入的一般句子类似于“我看到桌子前面的桌子”。我可以根据已使用的单词类型过滤掉可能的建议。例如,永远不要在“表格”之后建议“看”。

我计划在更改时检查输入框,然后根据输入框中的当前文本重新加载typeahead的源数据。但是,有没有比动态重新加载JSON源更优雅的解决方案?有没有办法让我立刻加载它,然后让匹配器仅应用于数据的子集?

1 个答案:

答案 0 :(得分:1)

来源'选项接受一个功能。在那里,您可以以任何方式动态构造可能的项目(句子):通过API调用服务器或使用之前加载的数据,或者只是使用初始页面加载加载的数据。当前查询是第一个参数。你可以返回任意数量的句子。您还可以提供分拣机回调以对其进行排序。

我不知道你想如何在给定查询的情况下创建可能的句子,但是如果它来自概率模型,你想要研究Markov模型。