目录
选择和Select2是jQuery插件,可增强选择框的功能,从而提高其外观和用户友好性。虽然选择是一个可靠且坚固的插件,但它并不像Select2那样积极地维护,该插件定期添加新功能和集成。
选择
select2
select2和选择更改简单的方式,并出现多个选择框。
响应式设计
>左右(RTL)支撑
tokenization

>如何在项目中实现select2?

>我可以在同一项目中使用所选和select2吗?
我如何自定义Select2的外观并选择?
如何使用Select2?非常适合处理大型数据集的AJAX支持。您可以将Select2配置为随着用户类型即时获取数据,从而阻止需要预先加载所有数据。与大型数据集一起工作时,这可以显着提高性能。
我如何处理Select2并选择的事件?您可以聆听和回应的事件。例如,您可以在用户选择时聆听更改事件以运行功能。您可以使用jQuery中的.on()方法来连接事件侦听器。
首页 web前端 js教程 jQuery选择框组件 - 选择vs select2

jQuery选择框组件 - 选择vs select2

Feb 18, 2025 am 11:39 AM

jQuery选择框组件 - 选择vs select2

>本文由马丁·马丁内斯(MartínMartínez)和克里斯·佩里(Chris Perry)进行了同行评审。感谢SitePoint所有的同行评审员制作SitePoint内容的最佳功能! 您是否曾经从事一个项目,看来有些东西在视觉上是什么?也许该项目快要完成了,但是有些元素看起来不太好?这些可能是小细节,但它们有所作为。

>如果您的项目包含不吸引人的选择框,并且您想向其添加更多功能,则会发现选择和Select2非常有用。这是两个jQuery插件,可帮助您设计选择框以改善其外观,自定义其行为并使它们更友好。

>

>在本文中,我将把这两个插件正对准,并比较它们的功能和用例,以便您可以做出最适合您的选择。

钥匙要点

选择和Select2是jQuery插件,可增强选择框的功能,从而提高其外观和用户友好性。虽然选择是一个可靠且坚固的插件,但它并不像Select2那样积极地维护,该插件定期添加新功能和集成。

>
    >两个插件都支持占位符文本,允许在选项中进行搜索,并提供限制选择数量的能力。但是,Select2还提供了在打开下拉列表时取消选择选项的选项,尚未在所选中实现的功能。
  • >
  • select2脱颖而出,其其他功能,包括程序化访问,标记,令牌化和模板。它还支持Ajax并提供更高级的自定义选项,使其成为选择框的功能更强大的工具。
  • >选择是基本选择盒增强功能的一个不错的选择,但建议使用Select2来进行更高级的功能和常规更新。 Select2还提供全面的文档,使其更容易在项目中实施和使用。
  • >安装
  • 选择和Select2都可以通过GitHub获得。这意味着您可以克隆各自的存储库并获取所需的文件。
>

否则,您可以将两个插件与Bower安装(作为GitHub的接口)。如果鲍尔是您的首选路线,那么您不妨在使用时抓住jQuery。

否则,从您选择的CDN(例如CDNJ)中获取文件,并以通常的方式将它们包含在页面中。这是我在下面的模板中所做的,您可以使用此操作以及教程中的示例。

选择

<span>git clone https://github.com/harvesthq/chosen.git
</span><span>git clone https://github.com/select2/select2.git
</span>
登录后复制
登录后复制
登录后复制
登录后复制

select2

bower <span>install jquery
</span>bower <span>install select2
</span>bower <span>install chosen
</span>
登录后复制
登录后复制
登录后复制

项目是否积极维护?

>您可以通过访问其GitHub页面来确定,所选插件的开发并不像以前那样活跃,并且是2014年2月6日所选日期的最新版本。这并不是说图书馆已经存在被遗弃 - 远离它!相反,开发人员将其带到了他们想要的地方,并且仍然是一个可靠且强大的插件。 另一方面,与select2相比,

对比了,差异很明显。该图书馆的开发将全力以赴,最近发布了其官方的第四版(4.0.0)。这意味着正在添加新功能,而其他功能则被弃用和/或删除。

>另一个有用的指标可能是在堆栈溢出上使用这些标签的问题数量。您可以在这里亲自尝试:http://stackoverflow.com/tags

>如果您输入“ select2”,然后对比“选择”,您会发现Select2插件周围似乎还有更多活动。您还会看到它具有许多集成,例如AngularJS和Ruby在Rails上。

选择盒子和占位符

select2和选择更改简单的方式,并出现多个选择框。

在带有纯HTML的多个选择框中,用户可以看到列表中可用的一些选项。这不是视觉上吸引人的,必须对此观点进行更改。选择和select2删除“列表视图”,当您在“选择框”内单击时,将出现选项列表。只有这样,您才能进行选择。

>您可以使用两个插件搜索您的选项。只需单击框内,然后输入您选择的第一个字符,然后根据您的搜索实时出现结果。

select2使得更容易取消选择已经选择的选项。打开下拉列表时,您可以单击任何选定的元素以取消选择。选定尚未实现此功能。

>

选择的单个和多个选择框的选择和Select2支持占位符文本。

选择数量有限

>有时在一个多个选择框中,您需要限制“选项”用户选择的数量。使用选择和Select2的优点是您可以非常简单地更改选择数量。

>您可以限制可以从两个插件的多选盒中选择的选择数量,尽管值得注意的是,选择此功能的版本更为先进。达到限制后,如果您尝试选择一个调用事件的其他选项。> 在此示例中,要求用户选择两天,这是他们一周中最有生产力的。当他们尝试选择第三天时,选择将调用活动。我已经选择了以添加警报,显示已达到限制:>

>请参阅Pen的选择数量有限的选择:codepen上的sitepoint(@sitepoint)选择的选择。

响应式设计

>人们会在各种设备上看到您的页面,因此选择框,就像您网站的其他组件一样,应该响应能力。所选和Select2支持设置宽度的百分比都具有一个百分比,并且两者的功能几乎相同。这有助于创建响应式选择的框,以考虑屏幕尺寸或浏览器窗口宽度。

>选择和Select2对此功能的唯一区别是代码。您可以在HTML中声明Select2的select标签。在下面查看它,以了解使Select Select Box响应能力和视觉上更好的方便。

<span>git clone https://github.com/harvesthq/chosen.git
</span><span>git clone https://github.com/select2/select2.git
</span>
登录后复制
登录后复制
登录后复制
登录后复制
bower <span>install jquery
</span>bower <span>install select2
</span>bower <span>install chosen
</span>
登录后复制
登录后复制
登录后复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Chosen/Select2 Template</title>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">
  </head>
  <body>

    <script></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
    <script>// Additional logic goes here</script>
  </body>
</html>
登录后复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Select2 Template</title>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css">
  </head>
  <body>

    <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script>
    <script>// Additional logic goes here</script>
  </body>
</html>
登录后复制
登录后复制
其他类似的功能

>选择和Select2具有其他共同的功能,但是我想查看我发现有趣的三个功能:残疾人结果,隐藏的搜索框以及左右(RTL)支持。

禁用结果

最有趣的是残疾人结果。使用此选项集,选择和Select2突出显示了已启用的选项。您可以看到残疾人的选择,但无法选择它们。通常设置禁用结果,以防止用户选择该选项,直到满足其他条件为止。此功能将您的选择框变成一个功能强大的工具,如果您根据需要学习如何使用它,它会增加与用户的互动。

为了让插件知道您已经激活了禁用的结果,请在选项标签中添加属性=“ disabled”,您将在其中使用此功能。

在此选定的示例中,用户只能在其地理位置中选择可用的选项,但是即使它们不可用,它们也可以看到其他选项:

<span>max_selected_options: 2 // Chosen Plugin
</span>
登录后复制
>请参阅codepen上的sitepoint(@sitepoint)的笔选择的笔:

上的禁用结果。

隐藏搜索框

>在单个选择框中的选项列表中没有很多选择时,建议隐藏搜索框。在选择中,要隐藏搜索框,您应该使用Disable_search_threshold并将其设置为比选择框中的选项数量更大的值。

>相同的逻辑适用于select2,但唯一的更改是术语,而不是disable_search_threshold,它称为MunimumResultsForsearch。
<span>maximumSelectionLength: 2 // Select2 Plugin
</span>
登录后复制
<!-- Chosen - HTML -->
<select >
  ...
</select>
登录后复制
>我应该添加有关Select2的一件事是,您可以永久隐藏搜索框,而不必担心选择框中的选项数量。您可以通过将MinimumResultsForsearch设置为Infinity来做到这一点。

>

<span>git clone https://github.com/harvesthq/chosen.git
</span><span>git clone https://github.com/select2/select2.git
</span>
登录后复制
登录后复制
登录后复制
登录后复制

>左右(RTL)支撑

>以不同的字母为不同的语言编写了大量网站,除此之外,其中一些语言是从另一个方向读取的。建议精选的框应根据这些语言的规则进行调整,并将其方向从LTR(从左到右)转移到RTL。这可以改善用户体验,并提高您网站对该地区用户的可用性。

选择和Select2在Select Box中支持左右技术。他们唯一的区别是Select2需要您在JavaScript文件中声明RTL支持,与此同时,您只需将所选的RTL类与HTML中的选定选择类一起添加。为什么选择select2而不是选择

> select2受到选择的启发,并且具有所选的大多数功能,但其贡献者并没有止步于此。它们构建了一些最酷的功能,用于选择框,包括程序化访问,模板,禁用模式,标记和令牌化。它还支持Ajax。

>

程序化访问

程序化访问将选择框带到另一个级别。它们非常有用,与多个精选框结合在一起。您可以使用JavaScript添加根据规则在这些选择框上作用的按钮。

>如果多个选择框中的某些选项具有彼此链接的一些逻辑链接,并且根据您的观察,这些“链接”选项很有可能从很多用户中选择,那么选择这些选项很有用单击一次选择。

bower <span>install jquery
</span>bower <span>install select2
</span>bower <span>install chosen
</span>
登录后复制
登录后复制
登录后复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Chosen/Select2 Template</title>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">
  </head>
  <body>

    <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
    <script>// Additional logic goes here</script>
  </body>
</html>
登录后复制
在此示例中,您可以通过单击“ iOS Technologies”按钮快速设置“ Swift”和“ Objective-C”:

>请参阅codepen上的sitepoint(@sitepoint)的Pen Select2 - 编程方法。

标记

标记是Select2的另一个功能,它使Select框更强大,并扩展了普通选择框的限制。它允许用户添加尚未在选项列表中的新选择。

> 如果选择范围很大,并且您无法在选项列表中键入所有选择时,

标记也非常方便。启用标签时,用户无法在列表中找到自己的选择时,它会“推”他们创建自己选择的标签。

使用标记时要小心,因为“恶意”用户输入无效标签的“恶意”用户可能会滥用它,这与Select Box的目标无关。

启用标签,您应该将标签选项设置为true。

>

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Select2 Template</title>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css">
  </head>
  <body>

    <script src="https://img.php.cn/code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script>
    <script>// Additional logic goes here</script>
  </body>
</html>
登录后复制
登录后复制
>请参阅codepen上的sitepoint(@sitepoint)标记的笔选择的笔。

tokenization

>将标签设置为true后,可用包含令牌分隔符的选项可用。输入标签的名称后,只需键入指定的令牌分离器之一。然后将标签作为选项列表中的选择输入。令牌分离器是通过从键盘中键入字符来创建标签的快捷方式。

>在Select2的帮助下,您可以使用所需的任何字符创建令牌分离器。在下面的示例中,使用了四个令牌分离器: /,,,;和“”(Space)。

<span>git clone https://github.com/harvesthq/chosen.git
</span><span>git clone https://github.com/select2/select2.git
</span>
登录后复制
登录后复制
登录后复制
登录后复制

>通过键入一个新选项,然后是一个分隔符字符来选择它并将其添加到选项列表:>:

请参见Pen Select2 - codepen上的SitePoint(@sitepoint)的tokenization。

templating

> Select2最强大的功能之一是模板。模板使我们能够自定义Select2显示的组件的外观。此功能可用于合并选项标签提供的最小输入与图像或其他组件为用户创建视觉显示。

这个示例与Bootstrap的字形组合selectin的模板:

>请参阅codepen上的sitepoint(@sitepoint)的笔select2。

结论

>尽管其中选择有一些不错的选择,但是Select2提供了更多的可用功能,可与Select Box一起使用。如果您将其组合在网站的“流”中,则选择是一个不错的选择,但是如果您想访问更高级的功能,那么Select2是更好的选择。

>我强烈建议使用select2;它的更新频率比所选择的频率更高,并且错误更少。我发现对Select2的文档非常有帮助。在阅读它时,您可以随时使用项目中的select2组件。

>

如果您使用选择或Select2有任何好或坏的经历,请在下面的评论部分中告诉我。

>

>关于jQuery选择框组件的常见问题(常见问题解答):选择的vs select2

选择和Select2?

选择和Select2之间的关键差异是什么流行的jQuery插件,用于增强SELECT框的功能。它们之间的关键差异在于他们的特征和可用性。 Select2支持AJAX,它可以通过用户类型即时加载大型数据集使用大型数据集。它还支持标记和无限滚动。另一方面,选择不支持Ajax或标记,但它确实提供了用户友好的搜索功能和更简单的界面。

>如何在项目中实现select2?

以实现Select2,您首先需要在项目中包括Select2 CSS和JavaScript文件。然后,您可以使用$(“ MySelectBox”)。select2()在任何选择框上初始化select2;命令。您还可以通过将选项传递到select2()函数来自定义Select2的行为。

>我可以在同一项目中使用所选和select2吗?

,而从技术上讲可以同时使用和select2在同一项目中,通常不建议进行。这两个插件旨在增强选定框的功能,并将它们一起使用可能导致冲突和意外行为。最好选择最适合您需求的一种。

我如何自定义Select2的外观并选择?

select2和选择允许通过CSS进行广泛的自定义。您可以通过在您自己的CSS文件中覆盖其默认样式来更改外观的颜色,字体,尺寸和其他方面。

如何使用Select2?非常适合处理大型数据集的AJAX支持。您可以将Select2配置为随着用户类型即时获取数据,从而阻止需要预先加载所有数据。与大型数据集一起工作时,这可以显着提高性能。

>我可以将所选或select2与Angular或React这样的框架使用?

是的,选择和Select2都可以与JavaScript框架一起使用,例如Angular框架。或反应。但是,您可能需要使用其他包装器或库来确保兼容性。

如何将搜索功能添加到所选的搜索功能?

选择的是内置的搜索功能。当您在选择框中选择的初始化时,会自动添加搜索框。用户可以在此框中键入此框以过滤选择框中的选项。

>如何使用select2和选择多个选择?

select2和选择支持多个选择。您可以通过在选择框中添加多个属性来启用此功能。当启用多个选择时,用户可以从选择框中选择多个选项。

>我可以使用移动设备选择或选择2使用?

我如何处理Select2并选择的事件?您可以聆听和回应的事件。例如,您可以在用户选择时聆听更改事件以运行功能。您可以使用jQuery中的.on()方法来连接事件侦听器。

>

以上是jQuery选择框组件 - 选择vs select2的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1655
14
CakePHP 教程
1414
52
Laravel 教程
1307
25
PHP教程
1253
29
C# 教程
1227
24
神秘的JavaScript:它的作用以及为什么重要 神秘的JavaScript:它的作用以及为什么重要 Apr 09, 2025 am 12:07 AM

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的演变:当前的趋势和未来前景 JavaScript的演变:当前的趋势和未来前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript引擎:比较实施 JavaScript引擎:比较实施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript:探索网络语言的多功能性 JavaScript:探索网络语言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

Python vs. JavaScript:学习曲线和易用性 Python vs. JavaScript:学习曲线和易用性 Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

如何使用Next.js(前端集成)构建多租户SaaS应用程序 如何使用Next.js(前端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:22 AM

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

从C/C到JavaScript:所有工作方式 从C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

如何安装JavaScript? 如何安装JavaScript? Apr 05, 2025 am 12:16 AM

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。

See all articles