包含多个值的文本字段,下拉列表中的建议(如Gmail“收件人:”字段)

时间:2011-01-18 14:50:05

标签: javascript html autocomplete wicket

我需要在我的网络应用程序中使用类似于Gmail在输入收件人地址时删除建议的功能,或者在输入问题撰写的标签时使用Stack Overflow的下拉列表。

在Gmail中,“收件人:”地址有一个文本字段。开始输入后,会出现一个包含建议的下拉列表。如果输入分号或逗号,则可以输入另一个地址。同样,一旦您开始输入此地址,就会出现一个带有建议的下拉列表。

建议是地址簿的子集,其中包含您输入的文字。 (例如,如果您键入“jo”,则“ Jo hn”和“Foo jo e”将显示为建议,但“XYZ”不会。)匹配的部分这个词以粗体突出显示。

如果按“Enter”键或使用上下光标键,则可以浏览下拉建议列表。

我可以自己编程,但是我觉得必须有标准的解决方案,我可以合并。然而,我发现的只是解决方案,其中该字段的价值导致了建议,而不是该字段的当前部分的值导致了建议(其中每个部分由分隔符分隔,例如“,”或“;”(如果是Gmail,或者是Stack Overflow标签中的空格)。

我正在使用Wicket(Java服务器端Web框架),因此任何特定于Wicket的解决方案都会很棒,但我确信我可以在项目中加入任何普通的Javascript库。

4 个答案:

答案 0 :(得分:3)

jQueryUI的自动完成是一个很棒的插件。

http://jqueryui.com/demos/autocomplete/#multiple

链接是“多个值”的例子,几乎是你所描述的一个字一个字;它匹配中间的部分单词,它允许基于键的导航,多个条目。

答案 1 :(得分:2)

您可以使用the AutoCompleteTextField class in wicket-extensions

Wicket Examples提供了一个示例实现作为its AJAX section中的第一项。源代码链接很难看,它位于灰色条的右边缘。

(说明甚至说“像谷歌建议!”)

答案 2 :(得分:1)

有一些JQuery插件,例如:

FCBKcomplete

Tokenizing Autocomplete Text Entry

答案 3 :(得分:1)

Wicketstuff项目中有一个自动完成组件。关于如何使用它有an Blog