optionwidgets_select_process in optionwidget should provide functionality to implement attributes so that we can add attributes like 'class, onChange'.

//At present the code

$element[$field_key] = array(
    '#type' => 'select',
    '#title' => $element['#title'],
    '#description' => $element['#description'],
    '#required' => isset($element['#required']) ? $element['#required'] : $field['required'],
    '#multiple' => isset($element['#multiple']) ? $element['#multiple'] : $field['multiple'],
    '#options' => $options,
    '#default_value' => isset($element['#value'][$field_key]) ? $element['#value'][$field_key] : NULL,
  );.

// It Should be 
$element[$field_key] = array(
    '#type' => 'select',
    '#title' => $element['#title'],
    '#description' => $element['#description'],
    '#required' => isset($element['#required']) ? $element['#required'] : $field['required'],
    '#multiple' => isset($element['#multiple']) ? $element['#multiple'] : $field['multiple'],
    '#options' => $options,
    '#default_value' => isset($element['#value'][$field_key]) ? $element['#value'][$field_key] : NULL,
    '#attributes' => isset($element['#attributes']) ? $element['#attributes'] : NULL,  );.

Comments

markus_petrux’s picture

Status: Active » Closed (won't fix)

This kind of things has been discussed before, and I ended up writing a handbook page that describes how to use hook_form_alter() + after_build callback to change this kind of things.

http://drupal.org/node/357328