Same name and namespace in other branches
  1. 4.7.x includes/form.inc \expand_radios()
  2. 6.x includes/form.inc \expand_radios()

Roll out a single radios element to a list of radios, using the options array as index.

Related topics

File

includes/form.inc, line 1263

Code

function expand_radios($element) {
  if (count($element['#options']) > 0) {
    foreach ($element['#options'] as $key => $choice) {
      if (!isset($element[$key])) {

        // Generate the parents as the autogenerator does, so we will have a
        // unique id for each radio button.
        $parents_for_id = array_merge($element['#parents'], array(
          $key,
        ));
        $element[$key] = array(
          '#type' => 'radio',
          '#title' => $choice,
          '#return_value' => check_plain($key),
          '#default_value' => $element['#default_value'],
          '#attributes' => $element['#attributes'],
          '#id' => form_clean_id('edit-' . implode('-', $parents_for_id)),
          '#parents' => $element['#parents'],
          '#spawned' => TRUE,
        );
      }
    }
  }
  return $element;
}