diff --git a/core/modules/system/templates/select.html.twig b/core/modules/system/templates/select.html.twig index 3235c95..29ec1fe 100644 --- a/core/modules/system/templates/select.html.twig +++ b/core/modules/system/templates/select.html.twig @@ -48,16 +48,19 @@ {% spaceless %} {# Cast key to a string. #} {% set key = "#{key}" %} + {# The defined test accommodates cases where element['#value'] is null. #} {% set empty_choice = element['#value'] is empty and element['#multiple'] is not empty %} {% if element['#value'] is not defined %} {% set selected = false %} {% elseif element['#value'] is not iterable %} {% set selected = ("#{element['#value']}" is same as(key)) %} - {% elseif key in element['#value'] %} - {% set selected = true %} + {% elseif element['#value'] is iterable %} + {% set selected = (key in element['#value']) %} {% elseif empty_choice and key == '_none' %} {% set selected = true %} + {% else %} + {% set selected = false %} {% endif %} {% endspaceless %}