Как я могу отобразить выбранное значение в раскрывающемся списке в рамках YII?

Я хочу отобразить выбранное значение в раскрывающемся списке в рамках 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'); ?>

Предположим, у меня есть названия стран в раскрывающемся списке. При добавлении я выбрал Индию и сохранил ее в базе данных. Во время обновления это должно показать Индию как мою выбранную страну.
Заранее спасибо.

0

Решение

Вы используете другую модель для выпадающего списка?

Если вы используете $model в качестве модели для выпадающего списка вы сохраните идентификатор выбранного значения в базе данных. Итак, когда вы собираетесь обновить запись, $model->prj_id будет установлено сохраненное значение, так что это значение будет отображаться.

Не знаю что $PrjList есть, но я думаю, что это должно быть похоже на следующий код, так как вы также отображаете метку и ошибку для этой модели и поля.

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

Если по какой-то причине вам нужно $PrjList в качестве модели убедитесь, что prj_id установлен в сохраненное значение.

1

Другие решения

$form->dropDownList такой же как CHtml::activeDropDownList, Вы должны передать объект модели, а затем для этого объекта будет установлен атрибут раскрывающегося списка, он выберет его автоматически.

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"));?>
0
По вопросам рекламы [email protected]