Commit 287f2a29 authored by Taylor Otwell's avatar Taylor Otwell

Merge pull request #641 from crynobone/feature/form-select-optgroup

Add support for Form::select with optgroup, solved #526
parents cded744a ec9f5f19
......@@ -397,12 +397,39 @@ class Form {
foreach ($options as $value => $display)
{
$html[] = static::option($value, $display, $selected);
if (is_array($display))
{
$html[] = static::optgroup($display, $value, $selected);
}
else
{
$html[] = static::option($value, $display, $selected);
}
}
return '<select'.HTML::attributes($attributes).'>'.implode('', $html).'</select>';
}
/**
* Create a HTML select element optgroup.
*
* @param array $options
* @param string $label
* @param string $selected
* @return string
*/
protected static function optgroup($options, $label, $selected)
{
$html = array();
foreach ($options as $value => $display)
{
$html[] = static::option($value, $display, $selected);
}
return '<optgroup label="'.HTML::entities($label).'">'.implode('', $html).'</option>';
}
/**
* Create a HTML select element option.
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment