Javascript 搜索框中的单词建议

Javascript 搜索框中的单词建议,javascript,java,jsf,search,jquery-autocomplete,Javascript,Java,Jsf,Search,Jquery Autocomplete,在谷歌的搜索框中,当用户键入部分术语时,会弹出一个与该术语部分匹配的术语列表,用户可以从中选择一个。结果证明这很方便。请参阅附件: 这是通过浏览器的缓存完成的吗?我想是的,因为我在本地机器上用自己的实验应用程序观察到了这一点。请参阅以下附件: 当我输入字母“a”时,会弹出三个单词,但我的应用程序非常简单,前面只有一个JSF中的h:form,特别是后端支持它。所以,我认为这三个单词一定是由浏览器的缓存建议的,因为我以前输入过它们。有人能证实这一点吗 现在,如果我想做一些与建议相似但不同的事情。

在谷歌的搜索框中,当用户键入部分术语时,会弹出一个与该术语部分匹配的术语列表,用户可以从中选择一个。结果证明这很方便。请参阅附件:

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

当我输入字母“a”时,会弹出三个单词,但我的应用程序非常简单,前面只有一个JSF中的h:form,特别是后端支持它。所以,我认为这三个单词一定是由浏览器的缓存建议的,因为我以前输入过它们。有人能证实这一点吗

现在,如果我想做一些与建议相似但不同的事情。建议的术语不是通过浏览器的缓存来建议的,而是通过一个backbean来提供的

<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");
   }
}
@ApplicationScoped
课堂用语建议{
...
私人地图建议;
公共无效初始化(){
单词建议。把(“书”、“书”);
文字建议。放置(“书籍”、“预订”);
文字建议。放置(“书籍”、“预订”);
}
}
在用户输入完整的单词“book”后,我想以与上述建议类似的方式推荐3个候选“books”、“booking”和“booked”。一个区别是,对于浏览器缓存建议(如果是),只要用户键入一个字符,建议就会开始;但是,在我的例子中,我希望用户键入完整的单词,即“book”,然后开始建议。最后,我还希望用户一开始输入,建议就开始,但我觉得这可能是第一种类型


如何在我的搜索框中实现这一点?我正在使用JEE、JSF、JavaScript和html

使用JQuery自动完成插件,如

使用JQuery自动完成插件,如

遵循以下步骤:

<input type='text' title='Tags' id='tags' />

$(document).ready(function() {

var aTags = ["ask","always", "all", "alright", "one", "foo", "blackberry", "tweet","force9", "westerners", "sport"];

$( "#tags" ).autocomplete({
    source: aTags
});

});

$(文档).ready(函数(){
var aTags=[“问”、“总是”、“所有”、“好”、“一”、“福”、“黑莓”、“推特”、“强制9”、“西方人”、“运动”];
$(“#标记”).autocomplete({
资料来源:aTags
});
});
遵循以下步骤:

<input type='text' title='Tags' id='tags' />

$(document).ready(function() {

var aTags = ["ask","always", "all", "alright", "one", "foo", "blackberry", "tweet","force9", "westerners", "sport"];

$( "#tags" ).autocomplete({
    source: aTags
});

});

$(文档).ready(函数(){
var aTags=[“问”、“总是”、“所有”、“好”、“一”、“福”、“黑莓”、“推特”、“强制9”、“西方人”、“运动”];
$(“#标记”).autocomplete({
资料来源:aTags
});
});

使用查询自动完成插件。是否有该插件的链接?非常感谢。我如何将自己的单词建议构建到其中呢?检查小提琴:这样你就可以将自己的单词建议构建到自动完成逻辑中。对吧?对。你可以不用angularjs检查小提琴。Fiddle:使用查询自动完成插件。你有该插件的链接吗?非常感谢。我如何将自己的单词建议构建到其中呢?检查小提琴:这样你就可以将自己的单词建议构建到自动完成逻辑中。对吧?对。你可以不用angularjs检查小提琴。小提琴: