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
Comment #1
markus_petrux commentedThis 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