Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module integrates the Choices.js plugin to enhance select dropdowns on your Drupal site. It offers global settings to apply the plugin to all select elements, filtered by CSS selectors, and a field widget to apply it selectively. You can also customize its behavior with JSON configurations.

Introduction

Drupal implementation of the Choices.js plugin.

Choices is a user-friendly, vanilla, lightweight, configurable <select> input plugin, which renders "selects" as boxes or lists, (without utilizing jQuery)!

A Demo of the Plugin can be seen here

Features

This module provides two ways of integrating the choices plugin into your site:

  1. A global setting to enable choices on your whole site, filterable through css selectors and optionally only on admin / non-admin pages
  2. A field widget, to apply choices on a select fields

Both integrations can have custom Choices configuration options applied to by JSON. Please read the README.md for further information.

Requirements

This module requires the following library:

Limitations

This module currently doesn't support <select> elements inside WYSIWYG Fields.

Installation

With composer

Without composer

  • Download the Choices.js library and put it into your project's /libraries directory.
  • Make sure the path to the relevant JS file is as followed: /libraries/choices.js/public/assets/scripts/choices.min.js
  • Install the module as you would normally install a contributed Drupal module.

Using the Content Delivery Network (CDN)

  • Install the module as you would normally install a contributed Drupal module.
  • Go to Home > Administration > Configuration > User interface > Choices
    ("/admin/config/user-interface/choices").
  • Check the "Use CDN" checkbox, save and flush all caches.

Visit https://www.drupal.org/node/1897420 and see the README.md if you have trouble installing the module.

Alternatives

Also see related issues:

Drupal Core: https://www.drupal.org/node/2346973
Backdrop CMS: https://github.com/backdrop/backdrop-issues/issues/1800

Development proudly sponsored by German Drupal Friends & Companies:

webks: websolutions kept simple (https://www.webks.de)
and
DROWL: Drupalbasierte Lösungen aus Ostwestfalen-Lippe (OWL), Germany (https://www.drowl.de)

Activity

Total releases
1
First release
Nov 2025
Latest release
8 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Release date
2.2.0 Stable Nov 4, 2025