Conditional Select Field Example

CCK Select Other introduces an alternative select list widget that provides a user with either a select list or text input.


  1. Uses native core List fields, which allows to swap out the select widget at any time.
  2. Provide a field formatter.
  3. Supports views filter.
  4. Support custom Other label.
  5. Drupal 6-7
    1. Supports allowed values and stores options in separate configuration.
    2. 7.x-2.x: Support field collection and other element altering modules.
  6. Drupal 8
    1. Uses allowed value.

Known issues

  • Drupal 7: i18n is not supported because i18n does not support form element children correctly.

Release status

  • 8.x-1.x: Initial development completed
  • 7.x-2.x: Better support for field collection, list_integer.
  • 7.x-1.x: 1.2 stable released.
  • 6.x-1.x version is stable and works fine for normal use cases. There are a number of tasks related to advanced use cases such as with conditional field or flexifield.

Drupal 8: How it works

The decoupling of fields and widgets caused much issue with this module as a field no longer understands what widget a value came from. Despite the benefit of decoupling this means that CCK Select Other MUST re-couple the dependency and blow away reliance on AllowedValuesConstraint and AllowedValuesConstraintValidator classes and redoing everything from scratch. Now any field that uses the select other widget in any form display will pass through allowed values. Don't like it? Fix core.

Drupal 6: How it works

CCK renders the form element as fieldset with multiple elements. When processed the form element is deconstructed into a simple element so that CCK will save the field properly. If validation fails the form element needs to be reconstructed as the fieldset.

Supporting organizations: 
Supported initial development

Project Information