我有一个包含多个复选框的表单
$activity = new Check('activity[]');
<input type="checkbox" name="activity[]" value="1">
<input type="checkbox" name="activity[]" value="2">
<input type="checkbox" name="activity[]" value="3">
当我编辑信息时,我想为DB中的多个复选框设置选中的值,但是setDefault()只接受一个值?我想要的东西如下
setDefault([1, 2]);
<input type="checkbox" name="activity[]" checked="checked" value="1">
<input type="checkbox" name="activity[]" checked="checked" value="2">
<input type="checkbox" name="activity[]" value="3">
在视图文件中我使用
<?php echo $form->render('activity[]', array('value' => 1)) ?>
<?php echo $form->render('activity[]', array('value' => 2)) ?>
<?php echo $form->render('activity[]', array('value' => 3)) ?>
怎么做?谢谢你的帮助!
答案 0 :(得分:1)
您必须为每个检查实例设置setDefault方法。
$activity1 = new Check('check1',['name' => 'activity[]', 'value' => 1);
$activity1->setDefault(1);
$activity2 = new Check('check2',['name' => 'activity[]', 'value' => 2);
$activity2->setDefault(2);
$activity3 = new Check('check3',['name' => 'activity[]', 'value' => 3);
$activity4 = new Check('check4',['name' => 'activity[]', 'value' => 4);