Php 如何在YII框架中的dropdownlist中显示所选值?

Php 如何在YII框架中的dropdownlist中显示所选值?,php,yii,html.dropdownlistfor,selected,Php,Yii,Html.dropdownlistfor,Selected,我想在Yii框架的下拉列表中显示选定的值。 我已经使用Yii CRUD操作生成了代码。在添加和更新时,它使用相同的视图,即_form.php <?php echo $form->labelEx($model,'prj_id'); ?> <?php $list = CHtml::listData(ProjectList::model()->findAll(array('order' => 'prj_name')), 'prj_id',

我想在Yii框架的下拉列表中显示选定的值。 我已经使用Yii CRUD操作生成了代码。在添加和更新时,它使用相同的视图,即_form.php

    <?php echo $form->labelEx($model,'prj_id'); ?>
    <?php
    $list = CHtml::listData(ProjectList::model()->findAll(array('order' => 'prj_name')), 'prj_id',       'prj_name');
    echo $form->dropDownList($PrjList, 'prj_id', $list);
    ?>
    <?php echo $form->error($model,'prj_id'); ?>

假设我的下拉列表中有国家名称。添加时,我选择了India并将其保存在数据库中。更新时,应将印度显示为我选择的国家。

提前感谢。

$form->dropDownList
CHtml::activeDropDownList
相同。您必须传递模型对象,然后该对象设置了下拉属性,它将自动选择该对象。

您正在使用不同的模型进行下拉

如果使用
$model
作为dropdownlist的模型,则会将所选值的ID保存到数据库中。因此,当您要更新记录时,
$model->prj_id
将被设置为保存的值,因此它将显示该值

我不知道
$PrjList
是什么,但我认为它应该与下面的代码类似,因为您还显示了此型号和字段的标签和错误

  echo $form->dropDownList($model, 'prj_id', $list);

如果出于某种原因您确实需要使用
$PrjList
作为模型,请确保将prj_id设置为保存的值。

使用以下格式

<?php  echo $form->dropDownList($PrjList,'prj_id', CHtml::listData(ProjectList::model()->findAll(array('order' => 'prj_name')),'prj_id','prj_name'),array('prompt'=>'Select Parent Menu','class'=>"span6 m-wrap"));?>

我已经创建了ProjectList模型的对象$PrjList=新项目列表();在下拉列表中显示ProjectList模型中的数据。