Dropdown

Written By Floris de Vries

Last updated 3 days ago

The Dropdown field allows customers to select one option from a predefined list. Each option can have its own numeric value, which can be used directly in price calculations or referenced in later steps of the calculator. Dropdowns are ideal for choices such as materials, finishes, sizes, or service levels.


Label

The Label defines the text displayed above the dropdown on the product page.
Use a clear and descriptive label so customers understand what they are selecting.

Example:
Material type


Key (unique ID)

The Key is a unique technical identifier for the dropdown field.
It is used by the calculator engine and can be referenced in calculation formulas or conditional logic.

Important rules:

  • Only lowercase letters are allowed

  • Numbers and underscores are supported

  • No spaces or special characters

Examples:
material_type
finish_option


Required field

When Required field is enabled, the customer must select an option before the product can be added to the cart.
Use this option when the selection is required to calculate the price or complete the order.


Dropdown options

Each dropdown option consists of a Label and a Value (float).


Option label

The Option label is the text shown to the customer in the dropdown list.
Choose clear, user-friendly names that make the choice easy to understand.

Example:
Premium material


Value (float)

The Value (float) is the numeric value associated with the option.
This value can be used to:

  • Add a fixed amount to the price

  • Act as a multiplier

  • Be referenced in later calculation steps

Example use cases:

  • 1 for no price change

  • 1.2 as a price multiplier

  • 25 as an additional cost


Add / Remove options

  • Use Add to create a new dropdown option

  • Use Remove to delete an existing option

Changes are applied immediately and will be reflected in the calculator logic.


๐Ÿ’ก Tip:
Use dropdowns when customers must choose exactly one option. For multiple selections, use checkboxes instead.