超过300行的下拉列表的最佳解决方案是什么?

3
我有一个问题,在表单中我有一个客户列表,可能超过300个,对我来说,在那里找到一个特定的行并不是很简单,因为我必须滚动所有结果来查找一行!

在旧技术上,我有一个按钮,可以打开一个弹出窗口,在那里我应该搜索我应该选择哪个客户,然后我使用JavaScript在第一个表单上记录选择,但使用新技术可能是一个好的解决方案!

如何解决这个问题?大型


考虑在http://ux.stackexchange.com/上发布您的问题。 - robasta
3个回答

3

请注意,OP是根据问题标签使用JSF的,这是一个基于状态组件的MVC框架。实现jQuery并不是一件简单的事情,因为你还必须考虑到服务器端的状态。你最好使用JSF组件来代替。 - BalusC

3
你基本上想要一个自动完成的下拉列表。这在标准JSF组件集中并不存在,而且使用JavaScript/jQuery在标准JSF组件集之上实现也不是那么容易,因为可用的值必须存在于服务器端的状态中。你还基本上想要一个下拉列表,它由<div><input><ul><li>表示,而不是<select><option>,因为普通的<select>不允许最终用户输入文本。标准JSF组件集没有呈现所需HTML标记的组件。你基本上需要创建一个自定义JSF组件。
已经有第三方JSF组件库提供了全面的JSF自动完成下拉列表。与通过自定义JSF组件重新发明轮子相比,使用它们中的任何一个都会更容易。选择你喜欢的:

1

是的,如果你有大量的项目需要选择,jQuery自动完成插件是最好的解决方案。

顺便说一下,想象一下,如果您想选择具有特定字母的项目。当您使用下拉列表时,可以通过键入每个名称的第一个字母来指向所需的项目。但是使用jQuery自动完成,您可以在任何地方搜索字符串或一组字母。无论您插入的字母位于项目名称的开头还是其他位置都没有关系。

正如ShantanuD所说,您可以在http://jqueryui.com/demos/autocomplete/中找到此插件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接