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.

Dependent list

47 sites No security coverage
View on drupal.org

This module allows fields on a form to dynamically update their options based on the selection made in a previous "parent" field. It supports list fields and filters options in real time using AJAX.

What This Module Does

Screenshots below show how the child field options change when a different parent value is selected.

Figure 1: Acquisition selected

Figure 2: Appropriation selected

When editing an entity (e.g. a node or paragraph), a dependent list field shows different options based on the value chosen in a "parent" list field. For example:

  • Parent field: "Event main type" (Acquisition, Appropriation, Archaeology & fieldwork, etc.)
  • Child field: "Event subtype" -> shows Auction, Bequest, Purchase, etc. when Acquisition is selected; Colonial appropriation, Confiscation, Destruction, etc. when Appropriation is selected; etc.

The module works with list fields (list_string, list_integer, list_float) and supports both select dropdowns and radio/checkbox widgets. Options are filtered in real time via AJAX when the parent value changes.

How to Use

  1. Create two list fields on your content type (or other entity type):

    • A parent field (e.g. "Country") with its allowed values.
    • A child field (e.g. "City") with all possible values.
  2. Configure the child field as dependent:

    • Go to Structure -> Content types -> [Your type] -> Manage fields.
    • Edit the child field (e.g. "City").
    • Open the Dependent list configuration section.
    • Choose the Dependency field (e.g. "Country").
    • In the table, for each parent value, check which child options should be shown.
    • Save the field.
  3. Use the form:

    • When creating/editing content, select a value in the parent field first.
    • The child field options will update automatically based on your configuration.

Requirements

  • Drupal 10 or 11
  • options and field_ui modules

Testing Note

Testing has been done primarily with dropdown (select) lists. Radio buttons and checkboxes may not be fully tested; use with those widgets at your own discretion.

Spell Checking (CSpell)

Run CSpell locally before pushing:

./scripts/cspell.sh

Or with npx: npx cspell . (from the module directory).

Project-specific words are in .cspell-project-words.txt. Add new valid terms there as needed.

Activity

Total releases
7
First release
Feb 2026
Latest release
1 month ago
Releases (12 mo)
7 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.3.1 Stable Jun 9, 2026
1.3.0 Stable Apr 9, 2026
1.2.0 Stable Mar 9, 2026
1.1.0 Stable Mar 5, 2026
1.0.0 Stable Feb 23, 2026
1.0.0-alpha1 Pre-release Feb 22, 2026
1.x-dev Dev Feb 22, 2026