Chained selects

Component ID

1193422

Component name

Chained selects

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

2055

Component created

Component changed

Component body

Add form element for Chained selects (i.e. dependent dropowns) -- http://www.appelsiini.net/2010/jquery-chained-selects

Grab the source and place under libraries/jquery_chained (so you will have libraries/jquery_chained/jquery.chained.js).

Dependencies:
* Libraries API

Example form:

  $options = array(
    '' => '--',
    'bmw' => t('BMW'),
    'audi' => t('Audi'),
  );

  $form['mark'] = array(
    '#type' => 'select',
    '#title' => t('Select 1'),
    '#options' => $options,
    '#attributes' => array('id' => 'chained-selects-mark'),
    '#default_value' => 'audi',
  );

  $options = array(
    '' => '--',
    'series-3' => t('3 series'),
    'series-5' => t('5 series'),
    'series-6' => t('6 series'),

    'a3' => t('A3'),
    'a4' => t('A4'),
    'a5' => t('A5'),
  );

  $options_attributes = array(
    'series-3' => array('class' => 'bmw'),
    'series-5' => array('class' => 'bmw'),
    'series-6' => array('class' => 'bmw'),

    'a3' => array('class' => 'audi'),
    'a4' => array('class' => 'audi'),
    'a5' => array('class' => 'audi'),
  );

  $form['series'] = array(
    '#type' => 'select',
    '#title' => t('Select 2'),
    '#attributes' => array('id' => 'chained-selects-series'),
    '#options' => $options,
    '#options_attributes' => $options_attributes,
    '#chained_selects' => array(
      'parent' => 'chained-selects-mark',
      'child'  => 'chained-selects-series',
    ),
  );