Twig HTML Select Macro with optgroups

May 19, 2015 ยท View on GitHub

{% macro select (name, id, options, selected, required, includeBlank) %} <select name="{{ name }}" id="{{ id }}" {{ required ? 'required' : '' }}> {% if includeBlank %} {% endif %} {% for key, value in options %} {% if value is iterable %} {% for subKey, subValue in value %} <option value="{{ subKey }}" {{ subKey == selected ? 'selected' : '' }}>{{ subValue }} {% endfor %} {% else %} <option value="{{ key }}" {{ key == selected ? 'selected' : '' }}>{{ value }} {% endif %} {% endfor %} {% endmacro %}