CakePHP data-icon в выпадающем списке
Используя CakePHP (2.3), есть ли способ легко добавить дополнительные параметры в элемент option поля выбора?
При создании выпадающего списка в шаблоне используйте следующий код:
echo $this->Form->input('icon_id', array(
'label' => 'Icon',
'empty' => ' ',
'class' => 'selectbox'
));
Следующий HTML-код выводится (это правильно):
<div class="input select">
<select name="data[Link][icon_id]" class="selectbox" id="LinkIconId">
<option value=""> </option>
<option value="16">fa-adjust</option>
<option value="76">fa-anchor</option>
<option value="135">fa-archive</option>
<option value="6">fa-arrow-cicle-o-right</option>
<option value="10">fa-arrow-circle-o-left</option>
...
У меня вопрос: могу ли я программно добавить атрибуты к тегу параметра, например, и, в частности, я бы хотел добавить атрибут data-icon, значение которого совпадает с текстом параметра? Например:
<option value="6" data-icon="fa-arrow-circle-o-right">fa-arrow-cicle-o-right</option>
У меня есть чувство, что мне может понадобиться написать помощника, чтобы сделать это.
1 ответ
Решение
$options = array(
1 => 'One',
2 => array('name' => 'Two', 'value' => 2, 'class' => 'extra'),
3 => 'Three',
6 => array('name' => 'Six', 'value' => 6, "data-icon"=>"fa-arrow-circle-o-right")
);
echo $this->Form->input('my_option_id',array('type' =>'select', 'options'=>$options));
HTML=>
<select name="data[my_option_id]" id="my_option_id">
<option value="1">One</option>
<option value="2" class="extra">Two</option>
<option value="3">Three</option>
<option value="6" data-icon="fa-arrow-circle-o-right" >Six</option>
</select>