如何在 yii2 中制作下拉列表?

2022-08-30 08:04:09

如何使用a和模型制作一个?既然所有的方法都变了,那么在新的方法中是如何完成的?dropdownyii2activeformyii2


答案 1

它就像

<?php
use yii\helpers\ArrayHelper;
use backend\models\Standard;
?>

<?= Html::activeDropDownList($model, 's_id',
      ArrayHelper::map(Standard::find()->all(), 's_id', 'name')) ?>

Yii2 中的 ArrayHelper 替换了 Yii 1.1 中的 CHtml 列表数据。[请从控制器加载阵列数据]

编辑

从控制器加载数据。

控制器

$items = ArrayHelper::map(Standard::find()->all(), 's_id', 'name');
...
return $this->render('your_view',['model'=>$model, 'items'=>$items]);

在视图中

<?= Html::activeDropDownList($model, 's_id',$items) ?>

答案 2

看起来你已经找到了答案,但是既然你提到了活动形式,我就会再贡献一个,即使它只有那么小的差异。

<?php
    $form = ActiveForm::begin();

    echo $form->field($model, 'attribute')
        ->dropDownList(
            $items,           // Flat array ('id'=>'label')
            ['prompt'=>'']    // options
        );

    ActiveForm::end();
?>

推荐