tom-select VS bootstrap-select

Compare tom-select vs bootstrap-select and see what are their differences.

tom-select

Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget with native-feeling keyboard navigation. Useful for tagging, contact lists, etc. (by orchidjs)

bootstrap-select

:rocket: The jQuery plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more. (by snapappointments)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
tom-select bootstrap-select
6 8
1,481 9,838
3.1% 0.1%
7.6 0.0
27 days ago 3 days ago
JavaScript JavaScript
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

tom-select

Posts with mentions or reviews of tom-select. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • Tom-select: vanilla JavaScript select control
    1 project | news.ycombinator.com | 17 Apr 2024
  • Glam Up My Markup Contest Submission | Special Effects with backdrop-filter() ✨
    1 project | dev.to | 29 Mar 2024
    This project uses Tom Select, which is licensed under the Apache License, Version 2.0. Tom Select on GitHub Apache License 2.0
  • A comprehensive guide to multi-timezone support in Django
    2 projects | dev.to | 11 Oct 2023
    Tip: If you're displaying a long list of timezones, consider using a select element with a search feature(e.g, tom-select) for a better user experience.
  • Hide an API Key from JS code
    1 project | /r/learnjavascript | 26 Jun 2023
    sorry if it's a dumb question. I'm using tom-select.js (https://tom-select.js.org/) to create various (s) that can use an ajax API call to retrieve/search for options. Since I have to use my own APIs that need an api key, is there a way to protect this key that could be used to access other APIs as well? Thank you
  • How to use tomselect to create and edit a "belongs_to :many relation" with Ruby on Rails
    2 projects | dev.to | 9 May 2023
    import { Controller } from "@hotwired/stimulus" import { get } from '@rails/request.js' import TomSelect from "tom-select" // Connects to data-controller="search" export default class extends Controller { static values = { url: String, selected: String } connect() { this.element.setAttribute( "autocomplete", "off" ); if (this.selectedValue == 'null') { var selected_json_data = new Array() var selected_items_array = new Array(); } else { var selected_json_data = JSON.parse(this.selectedValue) var selected_items_array = new Array() for(let i = 0; i < selected_json_data.length; i++) { selected_items_array.push(selected_json_data[i].id) } } var config = { plugins: ['clear_button', 'remove_button'], shouldLoad:function(q){ return q.length > 2; }, render: { option: this.render_option, //item: this.render_option item: function(data, escape) { return `${escape(data.email_address)}` } }, loadThrottle: 300, // check this out in search items reload new data-> // https://github.com/orchidjs/tom-select/issues/78 // https://stackoverflow.com/questions/74622800/fetching-data-from-api-to-create-tom-select-options maxItems: 10, maxOptions: 10, valueField: 'id', labelField: 'email_address', searchField: ['email_address', 'first_name', 'last_name'], options: selected_json_data, items: selected_items_array, sortField: { field: "email_address", direction: "asc" }, create: false, load: (q, callback) => this.search(q, callback), } let this_tom_select = new TomSelect(this.element, config) this_tom_select.clearCache() } async search(q, callback) { const response = await get(this.urlValue, { query: { q: q }, responseKind: 'json' }) if(response.ok) { callback(await response.json) } else { callback() } } render_option(data, escape) { if(data.email_address) return ` ${escape(data.first_name)} ${escape(data.last_name)} | ${escape(data.email_address)}
  • Tom-select.js: vanilla JavaScript select control
    1 project | news.ycombinator.com | 6 Apr 2023

bootstrap-select

Posts with mentions or reviews of bootstrap-select. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-13.
  • How does jQuery class selector return an object?
    2 projects | /r/jquery | 13 Oct 2022
    I have a multiselect widget in a modal. Because the multiselect has dynamically generated values, I need to call $('select').selectpicker(); when the modal code is injected.
  • How can I use crispy-forms with bootstrap-select?
    1 project | /r/django | 23 Sep 2022
    I want to replace the crispy-forms default bootstrap select with the bootstrap-select (https://developer.snapappointments.com/bootstrap-select/)
  • Code with me: selectpicker and max options
    1 project | dev.to | 24 Jun 2022
    Our project uses bootstrap-select so you need to implement your solution with that plugin.
  • How do I listen to events dispatched by other libraries?
    1 project | /r/alpinejs | 4 May 2022
    I'm trying to add Alpine to an existing project that uses bootstrap-select to create select boxes. I'm having issues triggering actions when a selection is made.
  • How do I get the Bootstrap’s dropdown.js component?
    1 project | /r/bootstrap | 11 Mar 2022
    I am using the npm module bootstrap-select (https://www.npmjs.com/package/bootstrap-select) and I don't understand the instructions nor can i find anything online about dropdown.js.
  • Custom JavaScript controls can't capture the nuance of form fields (2021)
    4 projects | news.ycombinator.com | 24 Feb 2022
    Emphatic agreement.

    Today, even apparently trivial widgets require ridiculous amounts of effort to attain a "natural" UX. To become so good you don't notice. That holy grail of being "invisible".

    --

    Epochs ago, I created custom controls for Win32. The one I was most proud of was a direct manipulation sundial picker for a raytracer. I obsessed over the details. Like being pixel perfect, both mouse and arrow keys (for fine grained increments), live updates between dial widget and text fields. Damn, I was proud of that control. I gushed and preened whenever a user complimented the effort.

    Ages ago, I started using bootstrap-select. It's a nifty dropdown w/ type ahead (search). Modest, no big deal, right? Nope! That project received so many PRs, tweaks, fit & finish, finesse, and all around TLC. I was transfixed, fascinated. I haven't done UI for years, but remained subscribed to their project announcements, mostly out of awe and respect.

    https://github.com/snapappointments/bootstrap-select

    Observing the bootstrap-select project over time humbled me. I used to think I had some UX juice. Now I know that I'm just banging the rocks together.

  • Adding Bootstrap 4 Searchable Dropdown in Google Apps Script
    1 project | /r/learnprogramming | 5 Mar 2021
    I tried following this guide, and added the cdn and js available here, but I cant seem to get it working in my Google Apps Script Webapp. All I am getting is a dropdown with no option to serach.
  • 8 Essential Bootstrap Components for Your Web App
    4 projects | dev.to | 2 Feb 2021
    The source: https://github.com/snapappointments/bootstrap-select

What are some alternatives?

When comparing tom-select and bootstrap-select you can also consider the following projects:

Choices.js - A vanilla JS customisable select box/text input plugin ⚡️

select2 - Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.

vue-multiselect - Universal select/multiselect/tagging component for Vue.js

Slim Select - Slim advanced select dropdown

jQuery-Selectric - jQuery plugin for easy manipulation and customization of HTML selects

jquery multi-select - A user-friendlier drop-in replacement for the standard select with multiple attribute activated.

sortablejs - Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery or framework required.

react-select-search - ⚡️ Lightweight select component for React

Ajax Bootstrap Select - This uses the bootstrap-select plugin and extends it so that you can use a remote source to search.

multiselect - Vue 3 multiselect component with single select, multiselect and tagging options (+Tailwind CSS support).

tail.select - Create beautiful, functional and extensive (Multi) Select Fields with pure, vanilla JavaScript.