Reputation: 1569
I have a form with several checkboxs
$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">
When I edit info, I want to set checked value for multiple checkbox from DB, but setDefault() accept only one value?? I want something as following
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">
In view file I use
<?php echo $form->render('activity[]', array('value' => 1)) ?>
<?php echo $form->render('activity[]', array('value' => 2)) ?>
<?php echo $form->render('activity[]', array('value' => 3)) ?>
How to do this? Thank for your help!
Upvotes: 1
Views: 1942
Reputation: 11
you must set the setDefault method for every check instance.
$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);
Upvotes: 1