PowerShell Universal
DownloadsIssuesDiscordForums
v4
v4
  • About
  • What's New in v4?
  • Get Started
  • Additional Resources
  • Installation
    • Docker
    • Upgrading
    • Uninstall
  • Licensing
  • System Requirements
  • Supported Browsers
  • Cmdlet Help
  • API
    • About
    • Endpoints
    • Event Hubs
    • Security
    • Error Handling
    • Rate Limiting
  • Automation
    • About Automation
    • Scripts
      • Parameters
    • Jobs
    • Schedules
    • System Events
    • Terminals
    • Triggers
    • Queues
  • User Interfaces
    • About
    • Apps
    • Examples
    • Components
      • Pages
      • Dynamic Regions
      • Element
      • Error Boundary
      • HTML
      • Custom Components
        • Building Custom JavaScript Components
      • Data Display
        • Alert
        • Badge
        • Chip
        • Data Grid
        • Date and Time
        • Icon
        • List
        • Markdown
        • Table
        • Timeline
        • Tooltip
        • Tree View
        • Typography
      • Data Visualization
        • Charts
        • Image
        • Map
      • Feedback
        • Backdrop
        • Modal
        • Progress
        • Skeleton
      • Inputs
        • Autocomplete
        • Button
        • Checkbox
        • Code Editor
        • Date Picker
        • Editor
        • Floating Action Button
        • Form
        • Radio
        • Rating
        • Select
        • Slider
        • Switch
        • Textbox
        • Time Picker
        • Transfer List
        • Upload
      • Navigation
        • Drawer
        • Link
        • Menu
        • Stepper
        • Tabs
      • Layout
        • Grid Layout
        • Grid
        • Hidden
        • Stack
      • Utilities
        • Protect Section
        • Transitions
      • Surfaces
        • AppBar
        • Card
        • Paper
        • Expansion Panel
    • Custom Variable Scopes
    • Interaction
    • Role Based Access
    • Scheduled Endpoints
    • Sessions
    • Themes
      • Cascading Style Sheets
      • Styles
  • Desktop
    • About Desktop Mode
    • File Associations
    • Hotkeys
    • Pages
    • Protocol Handlers
  • Platform
    • Cache
    • Computers
    • Health Checks
    • Middleware
    • Modules
    • Monitoring
    • Notifications
    • Plugins
    • Published Folders
    • Templates
    • Translations
    • User Sessions
    • Variables
  • Configuration
    • About
    • API
    • Command Line Options
    • Environments
    • Feature Flags
    • Git
    • Hosting
      • Azure
      • High Availability
      • IIS
      • Reverse Proxy
    • Login Page
    • Management API
    • Persistence
    • App Settings
    • Security
      • Access Controls
      • App Tokens
      • Client Certificate
      • OpenID Connect
      • PowerShell Protect
      • SAML2
      • WS-Federation
    • Repository
    • Running as a Service Account
    • Best Practices
  • Development
    • Debugging Scripts
    • Editor
    • Hangfire
    • Logging
    • Profiling
    • Visual Studio Code Extension
  • Samples
    • APIs
      • Custom Status Codes
    • Apps
      • Active Directory Tree View
      • Export-CSV Download
      • Dynamic Select Dropdown
      • Textbox Length Validation
      • Tree View Font Size
      • SQL Data Grid
  • Changelogs
    • Changelog
    • Extension Changelog
Powered by GitBook

PowerShell Universal

  • Downloads
  • Pricing
  • Gallery

Community

  • Issues
  • Forums
  • Discord

Support

  • Portal
  • Knowledgebase

Copyright 2025 Ironman Software

On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. Samples
  2. Apps

Dynamic Select Dropdown

Create a dynamic select dropdown.

PreviousExport-CSV DownloadNextTextbox Length Validation

Last updated 1 year ago

Was this helpful?

This sample creates a dynamic select drop down where the second select changes based on the first.

$Session:Cities = @()

New-UDSelect -Option {
    New-UDSelectOption -Name 'Idaho' -Value 'Idaho'
    New-UDSelectOption -Name 'Michigan' -Value 'Michigan'
    New-UDSelectOption -Name 'Wisconsin' -Value 'Wisconsin'
} -Label 'State' -OnChange {
    # Create session data based on the state selected
    if ($EventData -eq 'Idaho')
    {
       $Session:Cities = @("Boise", "Hailey", "Stanley")
    }
    
    if ($EventData -eq 'Michigan')
    {
       $Session:Cities = @("Ann Arbor", "Detroit", "Ironwood")
    }
    
    if ($EventData -eq 'Wisconsin')
    {
       $Session:Cities = @("Madison", "Milwaukee", "Irma")
    }

    # Refresh the city dynamic region
    Sync-UDElement -Id 'city'
}

New-UDDynamic -Id 'city' -Content {
   # if we don't have any cities, disable the select
   $Disabled = $Session:Cities.Length -eq 0

   New-UDSelect -Option {
     $Session:Cities | Foreach-Object {
         New-UDSelectOption -Name $_ -Value $_
     }
   } -Disabled:$Disabled -Label 'City'
}
Dynamic dropdown