如何获取模型的一个属性并将其放在activeDropDownList的option元素属性中?

时间:2014-02-26 23:36:55

标签: yii

在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,),
        ))
    );?>

下拉正确生成。如何为所有选项执行此操作,从一个模型的字段中获取值?

1 个答案:

答案 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,)