Testing Select Implementations
About Page
I created this page because I don't like my current select implementation and am looking at replacing it in the future. I am going to test out different vanilla JS select implementations here to see which one I think is the best.
Read Me
After testing vanilla javascript select libraries, I found that none of them really suits my needs. Instead, I am going to build out all of the functionality that these select components purport to have in my own custom select.
Select2
Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used options. It has remote data support - searching large lists with AJAX. It is fully skinnable (customizable). Allows for dynamic item creation and has full browser support.
I decided not to use select2 because it requires the use of jquery.
Tom Select
Tom Select is a dynamic, fraework agnostic, and lightweight (~16kb gzipped) <select> UI control. With autocomplete and native-feeling keyboard navigation, it's useful for tagging, contact lists, country selectors, and so on. Tom Select was forked from selectize.js with four main objectives: modernizing the code base, decoupling from jQuery, expanding functionality, and addressing issue backlogs.
Nice Select 2
A lightweight vanilla JavaScript library that replaces native select elements with customizable dropdowns. You can specify alternate text for each display option, include searchable options, and more.
Slim Select
No dependencies, 30kb - 5kb gzipped, single select, multiple select, addable options, HTML options, advanced search, tabbable, style inheritance, and typescript.