>如果您的項目包含不吸引人的選擇框,並且您想向其添加更多功能,則會發現選擇和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響應能力和視覺上更好的方便。
為了讓插件知道您已經激活了禁用的結果,請在選項標籤中添加屬性=“ disabled”,您將在其中使用此功能。
在此選定的示例中,用戶只能在其地理位置中選擇可用的選項,但是即使它們不可用,它們也可以看到其他選項: 上的禁用結果。
> >以不同的字母為不同的語言編寫了大量網站,除此之外,其中一些語言是從另一個方向讀取的。建議精選的框應根據這些語言的規則進行調整,並將其方向從LTR(從左到右)轉移到RTL。這可以改善用戶體驗,並提高您網站對該地區用戶的可用性。 選擇和Select2在Select Box中支持左右技術。他們唯一的區別是Select2需要您在JavaScript文件中聲明RTL支持,與此同時,您只需將所選的RTL類與HTML中的選定選擇類一起添加。 >
>
如果選擇範圍很大,並且您無法在選項列表中鍵入所有選擇時,
>
>將標籤設置為true後,可用包含令牌分隔符的選項可用。輸入標籤的名稱後,只需鍵入指定的令牌分離器之一。然後將標籤作為選項列表中的選擇輸入。令牌分離器是通過從鍵盤中鍵入字符來創建標籤的快捷方式。 >在Select2的幫助下,您可以使用所需的任何字符創建令牌分離器。在下面的示例中,使用了四個令牌分離器: /,,,;和“”(Space)。 >通過鍵入一個新選項,然後是一個分隔符字符來選擇它並將其添加到選項列表:
結論 >
>
以實現Select2,您首先需要在項目中包括Select2 CSS和JavaScript文件。然後,您可以使用$(“ MySelectBox”)。 select2()在任何選擇框上初始化select2;命令。您還可以通過將選項傳遞到select2()函數來自定義Select2的行為。 ,而從技術上講可以同時使用和select2在同一項目中,通常不建議進行。這兩個插件旨在增強選定框的功能,並將它們一起使用可能導致衝突和意外行為。最好選擇最適合您需求的一種。 select2和選擇允許通過CSS進行廣泛的自定義。您可以通過在您自己的CSS文件中覆蓋其默認樣式來更改外觀的顏色,字體,尺寸和其他方面。 >我可以將所選或select2與Angular或React這樣的框架使用? 選擇的是內置的搜索功能。當您在選擇框中選擇的初始化時,會自動添加搜索框。用戶可以在此框中鍵入此框以過濾選擇框中的選項。 響應式設計
<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>
<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">
<script></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script>
<script>// Additional logic goes here</script>
<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">
<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>
其他類似的功能
>選擇和Select2具有其他共同的功能,但是我想查看我發現有趣的三個功能:殘疾人結果,隱藏的搜索框以及左右(RTL)支持。
最有趣的是殘疾人結果。使用此選項集,選擇和Select2突出顯示了已啟用的選項。您可以看到殘疾人的選擇,但無法選擇它們。通常設置禁用結果,以防止用戶選擇該選項,直到滿足其他條件為止。此功能將您的選擇框變成一個功能強大的工具,如果您根據需要學習如何使用它,它會增加與用戶的互動。
<span>max_selected_options: 2 // Chosen Plugin
</span>
>請參閱codepen上的sitepoint(@sitepoint)的筆選擇的筆:
<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)支撐
> select2受到選擇的啟發,並且具有所選的大多數功能,但其貢獻者並沒有止步於此。它們構建了一些最酷的功能,用於選擇框,包括程序化訪問,模板,禁用模式,標記和令牌化。它還支持Ajax。
程序化訪問將選擇框帶到另一個級別。它們非常有用,與多個精選框結合在一起。您可以使用JavaScript添加根據規則在這些選擇框上作用的按鈕。
bower <span>install jquery
</span>bower <span>install select2
</span>bower <span>install chosen
</span>
<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">
<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>
在此示例中,您可以通過單擊“ iOS Technologies”按鈕快速設置“ Swift”和“ Objective-C”:
標記是Select2的另一個功能,它使Select框更強大,並擴展了普通選擇框的限制。它允許用戶添加尚未在選項列表中的新選擇。
<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">
<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>
>請參閱codepen上的sitepoint(@sitepoint)標記的筆選擇的筆。
tokenization
<span>git clone https://github.com/harvesthq/chosen.git
</span><span>git clone https://github.com/select2/select2.git
</span>
> Select2最強大的功能之一是模板。模板使我們能夠自定義Select2顯示的組件的外觀。此功能可用於合併選項標籤提供的最小輸入與圖像或其他組件為用戶創建視覺顯示。 >儘管其中選擇有一些不錯的選擇,但是Select2提供了更多的可用功能,可與Select Box一起使用。如果您將其組合在網站的“流”中,則選擇是一個不錯的選擇,但是如果您想訪問更高級的功能,那麼Select2是更好的選擇。
>我強烈建議使用select2;它的更新頻率比所選擇的頻率更高,並且錯誤更少。我發現對Select2的文檔非常有幫助。在閱讀它時,您可以隨時使用項目中的select2組件。 >如何在項目中實現select2?
>我可以在同一項目中使用所选和select2嗎?
我如何自定義Select2的外觀並選擇?
如何使用Select2?非常適合處理大型數據集的AJAX支持。您可以將Select2配置為隨著用戶類型即時獲取數據,從而阻止需要預先加載所有數據。與大型數據集一起工作時,這可以顯著提高性能。
>如何使用select2和選擇多個選擇?
select2和選擇支持多個選擇。您可以通過在選擇框中添加多個屬性來啟用此功能。當啟用多個選擇時,用戶可以從選擇框中選擇多個選項。 >我可以使用移動設備選擇或選擇2使用?
我如何處理Select2並選擇的事件?您可以聆聽和回應的事件。例如,您可以在用戶選擇時聆聽更改事件以運行功能。您可以使用jQuery中的.on()方法來連接事件偵聽器。
>
以上是jQuery選擇框組件 - 選擇vs select2的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver Mac版
視覺化網頁開發工具