awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Choices-js avatar

Choices-js/Choices

0
View on GitHub↗
6,801 stars·630 forks·JavaScript·MIT·16 viewschoices-js.github.io/Choices↗

Choices

Choices is a vanilla JavaScript library used to create customizable select boxes and text inputs without external dependencies. It functions as a custom select box plugin that transforms standard HTML select elements into searchable, stylable dropdowns and tagged text input components.

The library distinguishes itself through a system of customizable HTML templates and CSS custom properties, allowing for the creation of tailored UI components. It provides the ability to define custom HTML structures for input components and modify the visual appearance of the interface via CSS theme styling.

The project covers a range of input control capabilities, including multi-select tag inputs, text-based option filtering, and programmatic state management. It supports the enforcement of input value constraints and the use of custom property search to locate specific items within data sets.

Features

  • Custom Select Box Plugins - Provides a lightweight, zero-dependency solution for creating customizable and searchable select boxes and text inputs.
  • Select Menus - Transforms standard HTML select boxes into searchable and stylable dropdown menus.
  • CSS Theme Authoring - Supports modifying the visual appearance of the interface through the authoring of CSS custom properties.
  • Control Template Customizations - Allows redefining the internal visual structure of UI components via custom HTML templates.
  • CSS Variable Theming - Implements a theming system that maps design tokens to native CSS variables for flexible component styling.
  • Customizable Inputs - Offers a set of tools for building enhanced web form elements with deep visual and behavioral overrides.
  • HTML Markup Templates - Utilizes customizable HTML string templates to generate the internal structure of input components.
  • Multi-Select Inputs - Provides input fields where users can select and manage multiple options as removable tags.
  • Select Inputs - Renders dropdown menus for picking options from grouped lists using customizable HTML templates.
  • Searchable Dropdowns - Provides a user interface for filtering large lists of options through real-time search queries.
  • Select Dropdowns - Provides a custom select box plugin that transforms standard HTML select elements into searchable, stylable dropdowns.
  • List Search Filters - Provides real-time filtering mechanisms to narrow down long lists of selectable options using search queries.
  • Tag Inputs - Implements text fields that convert typed entries into distinct, removable tags with defined limits.
  • Text Filters - Filters available choices in a dropdown in real time based on user text input.
  • Data Property Search - Enables locating specific items in a list by searching against custom data properties.
  • Dropdown Configuration - Allows populating dropdowns with predefined or grouped options and applying sorting or limit rules.
  • Custom UI Components - Enables the design of highly tailored input elements using custom HTML templates and CSS for brand-specific styles.
  • Dynamic Input Forms - Implements text fields that dynamically load options from an API and validate entries in real time.
  • Asynchronous Option Loading - Provides the ability to fetch selectable list items from a remote API dynamically during user interaction.
  • Formatted Input Wrappers - Wraps native HTML input elements in a custom UI shell that synchronizes raw values with formatted display strings.
  • Input Validation Constraints - Restricts the number of selectable items and enforces specific text formats like email addresses.
  • Selection Item Management - Provides tools to add, remove, or edit entries within a selection input using custom delimiters and item limits.

Star history

Star history chart for choices-js/choicesStar history chart for choices-js/choices

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Choices

These projects share indexed features with Choices. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • davidstutz/bootstrap-multiselectdavidstutz avatar

    davidstutz/bootstrap-multiselect

    3,676View on GitHub↗

    This project is a Bootstrap jQuery plugin that transforms standard HTML select elements into interactive dropdown menus. It serves as a client-side form enhancement and UI component designed to replace multiple-choice select inputs with a searchable button-triggered menu of checkboxes. The component provides a specialized interface for multi-select dropdowns that maintains a consistent visual style with the Bootstrap CSS framework. It allows for the customization of component markup, enabling the override of default structures for buttons, popups, and options. The plugin covers a range of fu

    HTML
    View on GitHub↗3,676
  • shentao/vue-multiselectshentao avatar

    shentao/vue-multiselect

    6,787View on GitHub↗

    vue-multiselect is a suite of selection components for Vue.js that provides a searchable dropdown interface for single or multiple selections. It functions as a select input and tagging component capable of handling datasets from local sources or remote APIs. The project is distinguished by its support for asynchronous selection, enabling the retrieval of options from a remote source based on real-time search queries. It also features a dynamic tagging interface that allows users to create new custom tags when a required value is missing from the existing list. The component covers a broad r

    JavaScriptcomponentdropdownjavascript
    View on GitHub↗6,787
  • snapappointments/bootstrap-selectsnapappointments avatar

    snapappointments/bootstrap-select

    9,826View on GitHub↗

    Bootstrap Select is a jQuery plugin that replaces standard HTML select elements with a stylized interface. It functions as a custom dropdown menu that transforms native browser inputs into accessible form components. The project differentiates itself by providing real-time search filtering, multi-select data entry, and the ability to populate selection lists dynamically via remote JSON sources. To maintain browser performance when handling large datasets, it utilizes virtual rendering to display only the visible subset of options. The component includes accessibility support through ARIA att

    JavaScriptbootstrapdropdownjavascript
    View on GitHub↗9,826
  • taiga-family/taiga-uitaiga-family avatar

    taiga-family/taiga-ui

    4,002View on GitHub↗

    Taiga UI is an Angular UI component library and accessible design system used for building enterprise web interfaces. It provides a comprehensive collection of reusable interface elements and layout tools, functioning as a mobile-first UI kit with responsive components that adapt to different device capabilities. The library distinguishes itself through an integrated data visualization library featuring various chart types and a dedicated form management framework with built-in validation and formatting for specialized data. It also features AI-driven development workflows by integrating comp

    TypeScriptangularbest-practicescdk
    View on GitHub↗4,002
Compare all 30 related projects→

Frequently asked questions

What does choices-js/choices do?

Choices is a vanilla JavaScript library used to create customizable select boxes and text inputs without external dependencies. It functions as a custom select box plugin that transforms standard HTML select elements into searchable, stylable dropdowns and tagged text input components.

What are the main features of choices-js/choices?

The main features of choices-js/choices are: Custom Select Box Plugins, Select Menus, CSS Theme Authoring, Control Template Customizations, CSS Variable Theming, Customizable Inputs, HTML Markup Templates, Multi-Select Inputs.

Which projects share features with choices-js/choices?

Projects with overlapping indexed features include: davidstutz/bootstrap-multiselect — This project is a Bootstrap jQuery plugin that transforms standard HTML select elements into interactive dropdown… shentao/vue-multiselect — vue-multiselect is a suite of selection components for Vue.js that provides a searchable dropdown interface for single… snapappointments/bootstrap-select — Bootstrap Select is a jQuery plugin that replaces standard HTML select elements with a stylized interface. It… taiga-family/taiga-ui — Taiga UI is an Angular UI component library and accessible design system used for building enterprise web interfaces.… selectize/selectize.js — Selectize.js is a jQuery-based autocomplete library and tagging interface component. It functions as a searchable… bvaughn/react-virtualized-select — This project is a high-performance dropdown component designed to handle massive datasets within user interfaces. By…