Javascript多选和自动完成插件

时间:2012-08-28 11:40:06

标签: javascript jquery plugins html-select

我正在为选择框寻找一个js / jquery插件。

要求如下:

  1. 允许多项选择,理想情况下不重复(删除已经选择的项目)
  2. 自动填充,例如jquery autocompletechosen
  3. 应允许用户输入初始选择中不存在的值。
  4. 它应该能够快速研磨大量选项。金额约为3至1万。
  5. 它应该能够处理自动完成的unicode字符。
  6. 之前我使用过chosen,除了4和5之外,它适合大多数要求。

    这样的东西存在吗?或者至少有一些关闭和可用于分叉的东西?

1 个答案:

答案 0 :(得分:7)

我在阅读您的规范时首先想到的是AtlassianJIRA使用的选择框。因为这是迄今为止我遇到的最友好/最好看的选择器,我首先会提到它。

有:

  • 允许多项选择,显示得非常漂亮: enter image description here

  • 基于REST服务进行自动完成:

enter image description here

  • 允许发布外来值(虽然JIRA会在我尝试过的场景中拒绝POST后的值,但这取决于应用程序的逻辑)。
  • 由于它使用REST,它能够在合理的时间内处理的数据量完全取决于服务器端代码和服务器规格。
  • JIRA是unicode-proof,所以我没有理由相信这个组件不是。请注意,服务器端REST服务也应该是unicode证明,它们之间的通信也应如此。

Atlassian将此组件称为"Frother Control" in their API:

  

AJS.MultiSelect JavaScript控件。偶尔他们可能会被称为“采摘者”。但大多数时候人们称之为Frother Control™。

我找到了前面提到的AJS.MultiSelect class的一些来源,但是没有找到包含的许可证,所以我不确定它是否可以自由分叉。我认为AJS是Atlassian自己的JavaScript库,所以很可能是商业或限制许可。


您可以调查的另一件事是Sencha's ExtJS4's ComboBox。 (Example)。

这种控制非常灵活,可扩展,可分叉。

我过去曾将这个ComboBox用于各种项目,我可以确认它有多选,外来值,自动完成(本地和/或服务器端)和unicode。

大多数Ext组件可单独使用,而不使用整个框架。我们在过去将Ext与jQuery结合起来时遇到了一些麻烦,但我相信这些问题已成为过去。