【发布时间】:2013-11-28 07:08:42
【问题描述】:
现在我在文本框中有我的自动完成小部件。理想情况下,它应该是一个选择框,但我不知道如何让某人在选择框中输入内容。
所以我只能拥有一个文本框和一个隐藏框。隐藏框应使用文本框中显示的内容的 ID 进行更新。
我对 jQuery 很陌生,至少在这样的深度层面上是这样。我是否让这比我需要的更难?我绝对需要自动完成,因为可能有数十万个可能的值。
【问题讨论】:
现在我在文本框中有我的自动完成小部件。理想情况下,它应该是一个选择框,但我不知道如何让某人在选择框中输入内容。
所以我只能拥有一个文本框和一个隐藏框。隐藏框应使用文本框中显示的内容的 ID 进行更新。
我对 jQuery 很陌生,至少在这样的深度层面上是这样。我是否让这比我需要的更难?我绝对需要自动完成,因为可能有数十万个可能的值。
【问题讨论】:
您应该查看名为 chosen 的 jQuery 插件。
我认为它是过去一年(或更多)编写的最好的 jQuery 插件。
Chosen 是一个 JavaScript 插件,它使冗长、笨重的选择框更加用户友好。它目前有 jQuery 和 Prototype 两种风格。
【讨论】:
select2 已经取代了它。
“选择”有一个很好的替代方案 - "Select2" (jQuery only)。
“Select2”用例
- 通过搜索增强原生选择。
- 通过更好的多选界面增强原生选择。
- 从 JavaScript 加载数据:通过 ajax 轻松加载项目并使其可搜索。
- 嵌套 optgroups:本机选择仅支持一级嵌套。 Select2 没有这个限制。
- 标记:动态添加新项目的能力。
- 处理大型远程数据集:能够根据搜索词部分加载数据集。
- 大型数据集的分页:轻松支持在结果滚动到末尾时加载更多页面。
- 模板:支持自定义呈现结果和选择。
【讨论】:
在用于自动完成的 jQueryUI 演示页面上恰好有 a great example。它实际上使用select 元素作为后备存储。
您可以轻松修改它以使用远程数据源。如果您需要远程源,请告诉我,我可以提供示例。
【讨论】: