Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Choices.js - Better Vanilla JS Select Widget

906 sites Security covered Drupal 10–11
View on drupal.org

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)

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Nov 2025
Latest release
9 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core Release date
2.2.0 Stable 10–11 Nov 4, 2025