Нужно создать выпадающий список на основании данных из модели - это понятно
CHtml::activeDropDownList($groups,'id_sectors',Groups::model()->sectorsOptions,array('prompt'=>'Значение не из базы'));
причем нужно чтобы один элемент формировался не из базы . Если необходимо чтобы значение этого элемента была 0 - работает так как я написал
Но я хочу понять как пользоваться флагом options
Как я понимаю , если судя документации
CHtml::activeDropDownList($groups,'id_sectors',Groups::model()->sectorsOptions,array('options'=>array('555' => array ('label' => 'Значение не из базы')));
При таком написании ошибки не происходит , но и список создается на основани данных таблицы.
Хочется добавить, решил остановиться на CHtml::activeDropDownList($groups,'id_sectors',Groups::model()->sectorsOptions,array('prompt'=>'Значение не из базы'));
Но значение этого элемента '' и при сохранении получаю ошибку,
CDbCommand failed to execute the SQL statement: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: неверный входной синтаксис для integer: ""
Можно поставить обработчик перед сохранением и делать замену, но хотелось бы сразу формировать нормальный выпадающий список.
Кто что думает , как правильно поступить?
Quote
Нужно создать выпадающий список на основании данных из модели - это понятно
CHtml::activeDropDownList($groups,'id_sectors',Groups::model()->sectorsOptions,array('prompt'=>'Значение не из базы'));
причем нужно чтобы один элемент формировался не из базы . Если необходимо чтобы значение этого элемента была 0 - работает так как я написал
Но я хочу понять как пользоваться флагом options
Как я понимаю , если судя документации
CHtml::activeDropDownList($groups,'id_sectors',Groups::model()->sectorsOptions,array('options'=>array('555' => array ('label' => 'Значение не из базы')));
При таком написании ошибки не происходит , но и список создается на основани данных таблицы.
да так именно и хочу сделать, возможно так и стоит поступать
но я читал доку там так и написано, что этот параметр для этих целей используется или я что-то не так понял (как понимать это:
options: array, specifies additional attributes for each OPTION tag. The array keys must be the option values, and the array values are the extra OPTION tag attributes in the name-value pairs. For example,
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
НО всё таки не красится в красный тот option со значением value="49fb75eb-d4c8-49e6-924c-109cb698f235". В коде прописывается, а на деле список весь чёрным как и было. Стиль не срабатывает. Подскажите, что не так?