DynamicFormBuilderDynamicFormBuilder
HomePricingBlogDocsContact
Log InGet Started
Documentation

Getting Started

  • Introduction
  • Quick Start
  • Form Builder Interface

Field Types

  • Text Input
  • Email
  • Phone Number
  • Number
  • Textarea
  • Select (Dropdown)
  • Multi-Select
  • Checkbox
  • Radio Group
  • Date Picker
  • Range / Slider
  • Rating
  • Rich Text
  • Media Upload
  • Map / GeolocationAdvanced
  • TableAdvanced
  • Array (Repeating)Advanced
  • Calculated FieldAdvanced
  • MatrixAdvanced
  • Step Section

Form Logic

  • Conditional Logic
  • Multi-Step Forms
  • Field Validation
  • Translations

Publishing & Sharing

  • Save & Publish
  • Sharing Options
  • Public Forms

Submissions

  • View Responses
  • Export Data
  • Filters & Search

Advanced Features

  • Field Formulas
  • API Integration
  • Cascading Dropdowns
  • Developer JSONPro

Organizations

  • Creating Organizations
  • Managing Members
  • Roles & Permissions

Troubleshooting

  • Common Issues
  • Error Reference
Documentation

Getting Started

  • Introduction
  • Quick Start
  • Form Builder Interface

Field Types

  • Text Input
  • Email
  • Phone Number
  • Number
  • Textarea
  • Select (Dropdown)
  • Multi-Select
  • Checkbox
  • Radio Group
  • Date Picker
  • Range / Slider
  • Rating
  • Rich Text
  • Media Upload
  • Map / GeolocationAdvanced
  • TableAdvanced
  • Array (Repeating)Advanced
  • Calculated FieldAdvanced
  • MatrixAdvanced
  • Step Section

Form Logic

  • Conditional Logic
  • Multi-Step Forms
  • Field Validation
  • Translations

Publishing & Sharing

  • Save & Publish
  • Sharing Options
  • Public Forms

Submissions

  • View Responses
  • Export Data
  • Filters & Search

Advanced Features

  • Field Formulas
  • API Integration
  • Cascading Dropdowns
  • Developer JSONPro

Organizations

  • Creating Organizations
  • Managing Members
  • Roles & Permissions

Troubleshooting

  • Common Issues
  • Error Reference
advancedcascading
DocsAdvanced FeaturesCascading Dropdowns

Cascading Dropdowns

Create dependent dropdown chains where the options of one field depend on the selection in another.

Overview

Cascading dropdowns let you build dependent select chains — for example, selecting a Country first, which then filters the available States/Provinces, which then filters available Cities. Each subsequent dropdown's options are determined by the value selected in the parent dropdown.

Static Cascading

For smaller, static datasets, define the dependent options directly in the field configuration using a dependentOptions map:

// Parent field
{
  "type": "select",
  "name": "country",
  "label": "Country",
  "options": [
    { "label": "Nepal",  "value": "NP" },
    { "label": "India",  "value": "IN" }
  ]
}

// Child field
{
  "type": "select",
  "name": "province",
  "label": "Province / State",
  "dependsOn": "country",
  "dependentOptions": {
    "NP": [
      { "label": "Bagmati",   "value": "bagmati"   },
      { "label": "Gandaki",   "value": "gandaki"   },
      { "label": "Lumbini",   "value": "lumbini"   }
    ],
    "IN": [
      { "label": "Delhi",     "value": "delhi"     },
      { "label": "Maharashtra","value": "maharashtra"}
    ]
  }
}

API-driven Cascading

For larger datasets, use the Dynamic Options API with the dependsOn property. When the parent field value changes, the child field automatically re-fetches its options from the API with the parent value appended as a query parameter:

{
  "type": "select",
  "name": "district",
  "label": "District",
  "dependsOn": "province",
  "dynamicOptions": {
    "url": "https://api.example.com/districts",
    "method": "GET",
    "paramName": "province_id",
    "labelKey": "name",
    "valueKey": "id"
  }
}
// Fetches: /districts?province_id=bagmati
PreviousAPI Integration
NextDeveloper JSON

On this page

  • Overview
  • Static Cascading
  • API-driven Cascading