在activeDropDownList()的文档中 - > $ htmlOptions说明:options:array,为每个OPTION标记指定其他属性。数组键必须是选项值,数组值是名称 - 值对中的额外OPTION标记属性。例如,
阵列( 'value1'=> array('disabled'=> true,'label'=>'value 1'), 'value2'=> array('label'=>'value 2'), );
所以它应该是可行的。 我有这样的事情:
<?php
$criteria = new CDbCriteria;
$criteria->condition = "estado = 'activa'";
$criteria->order = "fecha_inicio";
echo $form->dropDownList($model,'salida',
CHtml::listData(Salida::model()->findAll($criteria), 'id', 'fecha_inicio', 'actividad.nombre'),
array('prompt'=>'-- Selecciona --',
'options' => array(
'26'=>array('disabled'=>true,),
'23'=>array('disabled'=>true,),
))
);?>
下拉正确生成。如何为所有选项执行此操作,从一个模型的字段中获取值?
答案 0 :(得分:1)
我想通了:
$opciones = CHtml::listData(Salida::model()->findAll($criteria), 'id', 'precio');
$opciones_f = array();
foreach ($opciones as $id => $precio) {
$opciones_f[$id] = array('data-precio'=>$precio);
}
echo $form->dropDownList($model,'salida',
CHtml::listData(Salida::model()->findAll($criteria), 'id', 'fecha_inicio', 'actividad.nombre'),
array('prompt'=>'-- Selecciona --','options' => $opciones_f,)