Php 如何为Yii dropdownlist选择一个选项,然后将其禁用?

Php 如何为Yii dropdownlist选择一个选项,然后将其禁用?,php,yii,frameworks,Php,Yii,Frameworks,我正在尝试为Yii框架中的下拉列表选择一个值,然后将其禁用,我尝试了以下代码,成功禁用了该值,但未设置该值,我甚至尝试在禁用选项和设置所选值之间切换,选择了该值,但未禁用DDL,我感谢您的帮助,谢谢 if($model->isNewRecord) { echo $form->dropDownList($model,'categoryId', CHtml::listData(Category::model()->findAll(), 'id', 'na

我正在尝试为Yii框架中的下拉列表选择一个值,然后将其禁用,我尝试了以下代码,成功禁用了该值,但未设置该值,我甚至尝试在禁用选项和设置所选值之间切换,选择了该值,但未禁用DDL,我感谢您的帮助,谢谢

    if($model->isNewRecord)
    {
      echo $form->dropDownList($model,'categoryId', CHtml::listData(Category::model()->findAll(), 'id', 'name'),array('disabled'=>'disabled'),array('options' => array($CatId=>array('selected'=>true))) );
    } 

您只需将所需选项标记为选中,如下所示:

$model->categoryId=$CatId; //before rendering dropdown
并删除以下阵列:

array('options' => array($CatId=>array('selected'=>true)))

那么您的意思是$model->categoryId=$CatId将存储该值,而不必从下拉列表中进行设置?我假设
$CatId
是您已经获得的选项。如果
$CatId
存在于
CHtml::listData(Category::model()->findAll(),'id','name')
中,则默认情况下会选择它,因为您已经在模型中设置了它。