搜索框中的单词建议

时间:2016-03-02 06:41:32

标签: javascript java jsf search jquery-autocomplete

在Google搜索框中,当用户键入部分字词时,与弹出字词部分匹配的字词列表和用户可以从中选择一个。事实证明这很方便。请参阅附件:

enter image description here

这是通过浏览器的缓存完成的吗?我想是的,因为我在我的本地机器上用我自己的实验应用程序观察到了这一点。请参阅以下附件:

enter image description here

当我输入字母' a'时会弹出三个单词,但我的应用程序非常简单,前面只有一个h:表单,后面有很多后端来支持这一点。所以,我认为这三个词必须由浏览器的缓存建议,因为我之前输入过它们。有人可以证实这一点吗?

现在,如果我想要类似于建议的东西,但不同。建议的术语不是通过浏览器的缓存建议的,而是通过后端bean提供的。

<h:form id="wordForm">

    <h:inputText id="word" value="#{wordController.word}" />                        
    <h:commandButton id="search" value="search!"
        action="#{wordController.search}" />
</h:form>

例如,如果我有一个后端bean来保存地图:

@ApplicationScoped
class WordSuggestion {

   ...
   private Map<String, String> wordSuggestions;

   public void initialize() {
       wordSuggestions.put("book", "books");
       wordSuggestions.put("book", "booking");
       wordSuggestions.put("book", "booked");
   }
}

用户输入完整的单词&#34; book&#34;后,我想要3个候选人&#34;书籍&#34;,&#34;预订&#34;和&#34;预订&#34;以与上述建议类似的方式提出建议。一个区别是,对于浏览器缓存建议(如果是),只要用户键入一个字符,建议就开始;但是,在我的情况下,我希望用户输入完整的单词,即&#34; book&#34;,然后开始建议。最后,我也希望一旦用户开始输入,建议就会开始,但我觉得这可能是第一种类型。

如何在我的搜索框中实现此目的?我正在使用JEE,JSF,JavaScript,HTML。

2 个答案:

答案 0 :(得分:1)

使用像EasyAutocomplete

这样的JQuery自动完成插件

答案 1 :(得分:1)

按照:

getchar