Я хочу отобразить выбранное значение в раскрывающемся списке в рамках Yii Framework.
Я сгенерировал код, используя операцию 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'); ?>
Предположим, у меня есть названия стран в раскрывающемся списке. При добавлении я выбрал Индию и сохранил ее в базе данных. Во время обновления это должно показать Индию как мою выбранную страну.
Заранее спасибо.
Вы используете другую модель для выпадающего списка?
Если вы используете $model
в качестве модели для выпадающего списка вы сохраните идентификатор выбранного значения в базе данных. Итак, когда вы собираетесь обновить запись, $model->prj_id
будет установлено сохраненное значение, так что это значение будет отображаться.
Не знаю что $PrjList
есть, но я думаю, что это должно быть похоже на следующий код, так как вы также отображаете метку и ошибку для этой модели и поля.
echo $form->dropDownList($model, 'prj_id', $list);
Если по какой-то причине вам нужно $PrjList
в качестве модели убедитесь, что prj_id установлен в сохраненное значение.
$form->dropDownList
такой же как CHtml::activeDropDownList
, Вы должны передать объект модели, а затем для этого объекта будет установлен атрибут раскрывающегося списка, он выберет его автоматически.
используйте следующий формат
<?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"));?>