2014-08-21 4 views
1

У меня есть форма с несколькими 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"> 

Когда я отредактировать информацию, я хочу установить проверил значение для нескольких флажком из БД, но 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

Как вы визуализируете этот html? Показать полный код. – Phantom

+0

Извините за недостающее, я только что отредактировал выше :-) – Geany

ответ

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); 
Смежные вопросы