【发布时间】:2014-05-30 01:23:39
【问题描述】:
我正在尝试在 YII 2.0 框架中使用 Activeform 复选框列表小部件
在我的情况下,我有一个名为“list”的数组,其中包含将呈现为复选框列表的语言名称,现在我能够做到这一点,但我希望在表单加载时选中复选框.
$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript'];
$list2 = [0,2];
使用以下行,我可以使用 HTML 帮助类实现我想要的:
<?= Html::checkboxList('CuisineId',$list2,$list); ?>
但我希望能够使用 Activeform Widget CheckboxList 来执行此操作,根据documentation,它可以通过以下方式使用:
静态复选框列表($items, $options = [])
所以在我的例子中,我已经想出了如何为 $items 传递参数,方法如下:
<?= $form->field($record, 'CuisineId')->checkboxlist($list);?>
但现在我不知道如何传递允许选中复选框的参数。
【问题讨论】:
-
将属性的值设置为'PHP'?
-
不,在 Yii2 中,使用复选框列表,我能够生成一个带有 3 个复选框的表单,标签为“PHP”、“MySQL”和“Javascript”,我希望能够拥有“PHP”的复选框,已在表单加载时选中。
-
值是否已经设置/来自模型?
-
这对我有用:\yii\helpers\BaseHtml::checkboxList('CuisineId', $list2, $list);