如何在表单加载时检查Yii2.0 CheckboxList项?

时间:2014-04-15 15:20:11

标签: php yii2

我正在尝试在YII 2.0 Framework中使用Activeform checkboxlist小部件

在我的情况下,我有一个名为" list"其中包含将作为复选框列表呈现的语言名称,现在我可以这样做,但我希望在表单加载时选中复选框。

$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript'];
$list2 = [0,2];

使用以下行,我能够使用HTML帮助程序类实现我想要的东西:

<?= Html::checkboxList('CuisineId',$list2,$list); ?>

但我希望能够使用Activeform Widget CheckboxList执行此操作,按照documentation按以下方式使用它:

  

static checkboxList($ items,$ options = [])

所以在我的情况下,我已经想出了如何传递$ items的参数,这是以下列方式:

<?= $form->field($record, 'CuisineId')->checkboxlist($list);?> 

但现在我不知道如何传递允许选中复选框的参数。

2 个答案:

答案 0 :(得分:4)

好的,我从yiiframework forum本身得到了解决方案。

解决方案只是添加以下代码行并且它有效! :

$record->CuisineId = $list2;

答案 1 :(得分:3)

<强>解决
database

view

控制器

$model = $this->findModel($id);
    $model->INDEXES =ArrayHelper::getColumn($model->publicationIndexes, 'INDEXES_ID');

    if ($model->load(Yii::$app->request->post())) {$model->save();}

查看(_form)

<?= $form->field($model, 'INDEXES')->checkboxList(ArrayHelper::map(Indexes::find()->all(), 'ID', 'NAME')) ?>