8

我正在尝试在 YII 2.0 框架中使用 Activeform 复选框列表小部件

就我而言,我有一个名为“list”的数组,其中包含将呈现为复选框列表的语言名称,现在我可以做到这一点,但我希望在表单加载时选中复选框。

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

使用以下行,我可以使用 HTML 帮助器类来实现我想要的:

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

但我希望能够使用 Activeform Widget CheckboxList 来做到这一点,根据文档,它将以下列方式使用:

静态复选框列表($items,$options = [])

所以在我的例子中,我想出了如何传递 $items 的参数,方法如下:

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

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

4

2 回答 2

5

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

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

$record->CuisineId = $list2;
于 2014-04-17T05:10:08.590 回答
4

解决
数据库

看法

控制器

$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')) ?>
于 2016-01-17T09:56:19.463 回答