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.

Features

  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 8 and greater
    1. Uses allowed value.
  6. 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.

Known issues

  • Drupal 7: i18n is not supported because i18n does not support form element children correctly.
  • Drupal 8 or greater: Using checkboxes / radio buttons

Release status

  • 2.0.x: 2.0.0-alpha1 released.
  • 8.x-1.x: 1.4 stable released.
  • 7.x-2.x: Better support for field collection, list_integer. Not ready for production-use
  • 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

Releases