diff --git a/core/lib/Drupal/Core/Render/Element/Optgroup.php b/core/lib/Drupal/Core/Render/Element/Optgroup.php index 05e2777..03bc474 100644 --- a/core/lib/Drupal/Core/Render/Element/Optgroup.php +++ b/core/lib/Drupal/Core/Render/Element/Optgroup.php @@ -34,7 +34,6 @@ public function getInfo() { array($class, 'processAjaxForm'), ), '#theme' => 'optgroup', - '#theme_wrappers' => array('form_element'), '#options' => array(), ); } diff --git a/core/lib/Drupal/Core/Render/Element/Option.php b/core/lib/Drupal/Core/Render/Element/Option.php index a4c911d..9877d69 100644 --- a/core/lib/Drupal/Core/Render/Element/Option.php +++ b/core/lib/Drupal/Core/Render/Element/Option.php @@ -32,9 +32,23 @@ public function getInfo() { '#process' => array( array($class, 'processAjaxForm'), ), + '#pre_render' => array( + array($class, 'preRenderOption'), + ), '#theme' => 'option', - '#theme_wrappers' => array('form_element'), + '#selected' => FALSE, ); } + /** + * Prepares a select render element. + */ + public static function preRenderOption($element) { + $element['#attributes']['value'] = $element['#return_value']; + if ($element['#selected']) { + $element['#attributes']['selected'] = 'selected'; + } + return $element; + } + }