用例解释Chosen和Select2

用例解释Chosen和Select2

有两个可以用来美化选择框的jQuery插件,它们分别是Select2和Chosen。这两个插件都可以改善选择框的外观,并增强选择框的行为,使其更加用户友好。此外,这两个插件都可以用于多个选择框和单个选择框。

Chosen

Chosen是一个创建用户友好的选择框的 JavaScript 插件。Chosen可以在原型和jQuery版本中使用。

Chosen的功能

用户友好

您的用户不需要费力浏览一大堆可能性,他们只需输入他们正在寻找的事物的名称。选择替代方案只需按下“Enter”键或点击鼠标,不匹配的条目将从屏幕上删除。

渐进增强

由于Chosen替换了默认的HTML Select字段,因此在不支持JavaScript的浏览器中,不再需要采取任何进一步的步骤来使其运行。后端也不使用事件来管理数据。

简单设置

只需将所选文件包含在您的应用程序中并启用插件即可。选择的选项组、选定状态、多个特性和浏览器选项卡顺序都会自动得到Chosen插件的支持。

Select2

Select2为用户提供了一个可自定义的选择框,可用于搜索、远程数据集、标记、无限滚动等许多有用的属性。

Select2的功能

它为用户提供了一个可自定义的选择框,除此之外还支持搜索、标记、远程数据集、无限滚动和许多其他选项。

RTL环境

它支持RTL环境,并内置对40多种语言的搜索功能。

Ajax

您可以使用Ajax快速搜索一个长列表中的项目。

可以使用Sass创建完全可自定义的CSS,并有一个可选的Bootstrap 3主题。

Chosen的Javascript库

使用Chosen插件在jQuery中,我们需要添加一些库,如下所示 –

此外,为了在选择框上激活插件,我们需要添加以下代码片段 –

$(“.chosen-select”).chosen()

以上代码片段是JQuery中的脚本。

Select2的JavaScript库

要在jQuery中使用select2插件,我们必须添加一些库,如下所示-

  • select2.min.js

  • select2.min.css

另外,要在选定的框上激活该插件,我们必须添加以下代码段-

$(“.chosen-select”).select2()

上述的代码片段是使用jQuery编写的脚本。

我们已经了解了chosen和select2的基础知识,现在让我们来看一下它们之间的区别。

chosen和select2的区别

改进select框最常用的两个库是chosen和select2。Chosen比Select2更古老,同时支持jQuery和Prototype。两者都在不断更新。Select2是受Chosen启发的,仅支持jQuery

让我们来看一下chosen和select2之间的区别:

加载数据

使用chosen加载数据时,需要将整个数据集作为选项标签加载到DOM中,这会导致在处理较小数据集时有一定的限制。另一方面,Select2使用函数的概念,以便动态查找结果,这允许select2方法部分加载结果,并消除了chosen的缺点。

翻页的要求

正如前面所讨论的,Chosen一次性加载整个数据集,这意味着不需要将数据分成多个部分,所以翻页概念是无用的。另一方面,Select2方法使用完整数据集并部分加载所需结果,它支持翻页的概念。当用户滚动到当前数据底部时,它将调用搜索函数以加载更多数据。

标记支持的类型

通过选项标签,chosen仅支持呈现文本的标记支持,而Select2提供了扩展点可以用来制作各种标记来表示结果。

添加结果

添加结果有两种选择,chosen和select2都可以选择静态或动态方式。但是chosen无法动态添加结果,而select2则完全相反,可以使用标记添加结果。

开发

使用Sass和CoffeeScript来开发chosen,而使用纯JavaScript和CSS来开发select2。

上述给出的区别是chosen和select之间的主要区别,还存在一些次要区别,例如,chosen的大小为27KB,而select2的大小更大,为57KB。

注意 - Saas和CoffeeScript在调试Chosen时常常更加困难。

Select2公开支持移动设备,而Chosen有意在某些设备上禁用自己。因此,建议在移动设备上使用Select2来使用“展开的选择框”。

结论

在本文中,我们学习了两个jQuery插件,即Select2和Chosen,可以用来样式化选择框。这两个插件都改善了选择框的外观,并增强了选择框的行为,使其更加用户友好。Select2和chosen之间存在许多差异,包括数据加载过程、分页的需求、动态添加结果的能力以及它们的开发方式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程