我想在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并将其保存在数据库中。在更新时,它应将印度显示为我选择的国家 提前谢谢。
答案 0 :(得分:1)
您为下拉列表使用了不同的模型..?
如果使用$model
作为下拉列表的模型,则会将所选值的ID保存到数据库中。那么当你要更新记录时,$model->prj_id
将被设置为保存的值,这就是它将显示的值。
不知道$PrjList
是什么,但我认为它应该类似于以下代码,因为您还会显示此模型和字段的标签和错误。
echo $form->dropDownList($model, 'prj_id', $list);
如果出于某种原因需要$PrjList
作为模型,请确保将prj_id设置为保存的值。
答案 1 :(得分:0)
$form->dropDownList
与CHtml::activeDropDownList
相同。您必须传递模型对象,然后该对象具有下拉属性设置,它将自动选择它。
答案 2 :(得分:0)
使用以下格式
<?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"));?>