Kevin
Kevin

Reputation: 1569

How to set default value for multiple checkbox?

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

Answers (1)

Heri Gunawan
Heri Gunawan

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

Related Questions