Нужно создать выпадающий список на основании данных из модели - это понятно
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' => 'Значение не из базы')));
При таком написании ошибки не происходит , но и список создается на основани данных таблицы.
Page 1 of 1
activeDropDownList() применение $htmlOptions
#2
Posted 02 May 2009 - 12:50 PM
Хочется добавить, решил остановиться на 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: ""
Можно поставить обработчик перед сохранением и делать замену, но хотелось бы сразу формировать нормальный выпадающий список.
Кто что думает , как правильно поступить?
Но значение этого элемента '' и при сохранении получаю ошибку,
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' => 'Значение не из базы')));
При таком написании ошибки не происходит , но и список создается на основани данных таблицы.
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' => 'Значение не из базы')));
При таком написании ошибки не происходит , но и список создается на основани данных таблицы.
#3
Posted 02 May 2009 - 01:05 PM
Ты хочешь чтобы к списку из таблицы добавить пару значений от себя?
Думаю, для этого достаточно слепить вместе два массива, как-нибудь так:
CHtml::activeDropDownList($groups,'id_sectors', array_merge(Groups::model()->sectorsOptions, array('customVal1' => 'customName1', ...)))
options в последнем параметре - это для html-атрибутов.
Думаю, для этого достаточно слепить вместе два массива, как-нибудь так:
CHtml::activeDropDownList($groups,'id_sectors', array_merge(Groups::model()->sectorsOptions, array('customVal1' => 'customName1', ...)))
options в последнем параметре - это для html-атрибутов.
#4
Posted 02 May 2009 - 01:16 PM
да так именно и хочу сделать, возможно так и стоит поступать
но я читал доку там так и написано, что этот параметр для этих целей используется или я что-то не так понял (как понимать это:
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,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
)
, тогда пожалуйста рабочий пример с options - просто хочу доконца разобраться
но я читал доку там так и написано, что этот параметр для этих целей используется или я что-то не так понял (как понимать это:
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,
array(
'value1'=>array('disabled'=>true, 'label'=>'value 1'),
'value2'=>array('label'=>'value 2'),
);
)
, тогда пожалуйста рабочий пример с options - просто хочу доконца разобраться
Quote
Ты хочешь чтобы к списку из таблицы добавить пару значений от себя?
Думаю, для этого достаточно слепить вместе два массива, как-нибудь так:
CHtml::activeDropDownList($groups,'id_sectors', array_merge(Groups::model()->sectorsOptions, array('customVal1' => 'customName1', ...)))
options в последнем параметре - это для html-атрибутов.
Думаю, для этого достаточно слепить вместе два массива, как-нибудь так:
CHtml::activeDropDownList($groups,'id_sectors', array_merge(Groups::model()->sectorsOptions, array('customVal1' => 'customName1', ...)))
options в последнем параметре - это для html-атрибутов.
#5
Posted 02 May 2009 - 01:36 PM
Параметр options используется для добавления всяких прикольных html-атрибутов к некоторым тегам option.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.
#6
Posted 02 May 2009 - 01:44 PM
Спасибо , теперь все ясно.
Quote
Параметр options используется для добавления всяких прикольных html-атрибутов к некоторым тегам option.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.
#7
Posted 13 October 2012 - 02:37 PM
sergey.leonenko, on 02 May 2009 - 01:44 PM, said:
Спасибо , теперь все ясно.
<p class='citation'>Quote</p><div class="blockquote"><div class='quote'>Параметр options используется для добавления всяких прикольных html-атрибутов к некоторым тегам option.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.</div></div>
<p class='citation'>Quote</p><div class="blockquote"><div class='quote'>Параметр options используется для добавления всяких прикольных html-атрибутов к некоторым тегам option.
Вот пример:
<?= CHtml::activeDropDownList($carmodel, 'carmarkId', CHtml::listData($carmarkList, 'id', 'name'), array('class' => 'formInput', 'options' => array('49fb75eb-d4c8-49e6-924c-109cb698f235' => array('style' => 'color:red')))); ?>
В данном случае, я навешиваю css-класс formInput на весь тег select, а при помощи ключа options в том же массиве навешиваю стиль color:red для опции с value="49fb75eb-d4c8-49e6-924c-109cb698f235".
Как-то так.</div></div>
НО всё таки не красится в красный тот option со значением value="49fb75eb-d4c8-49e6-924c-109cb698f235". В коде прописывается, а на деле список весь чёрным как и было. Стиль не срабатывает. Подскажите, что не так?
Share this topic:
Page 1 of 1

Help












