2014-11-13 2 views
0

Я хочу отобразить выбранное значение в раскрывающемся списке в структуре Yii. Я создал код, используя операцию Yii CRUD. При добавлении и обновлении он использует тот же вид, то есть _form.php.Как отобразить выбранное значение в раскрывающемся списке в структуре YII?

<?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'); ?> 

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

ответ

1

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

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

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

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

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

+0

я создал объект модели ProjectList. $ PrjList = новый ProjectList(); Отображение данных из модели ProjectList в выпадающем списке. – Nitin

0

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

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"));?>