2012-08-28 12 views
8

Ich habe, erstellt mit:Mehrere Checkboxen in CakePHP - wie eingestellt, welche überprüft werden? mehrere Kontrollkästchen in CakePHP Hinzufügen/Bearbeiten Ansicht

echo $this->Form->input('email_warning_chb', array('type'=>'select', 'multiple'=>'checkbox', 'label'=> __('Email notice'), 'class'=>'multiple-chb', 'options'=> array('title...'=>array('5'=>'5 days', '15'=>'15 days', '30'=>'30 days', '60'=>'60 days'); 

Meine Frage ist, wie man festgelegt, welche sind standardmäßig aktiviert (dh in thi Beispiel, 5, 15 und 60.)?

Vielen Dank im Voraus!

+0

Dies war eine bessere Antwort für mich: http://stackoverflow.com/questions/10243537/cakephp-multiple-select-selected-is-not-working –

+0

Dies war eine bessere Antwort für mich : http://stackoverflow.com/questions/12168225/multiple-checkboxes-in-cakephp-how-to-set-which-are-checked –

Antwort

1

in Ihrem Controller müssen Sie den Wert so:

$this->request->data['Model']['email_warning_chb'] = array(5,15,60); 

und es wird zeigt das Kontrollkästchen automatisch als ausgewählt an.

Bitte fragen Sie, wenn nicht für Sie arbeiten.

9

Wie in anderen Antworten gesagt, sollten Sie die Option 'ausgewählt' einstellen. Was einige Leute nicht erwähnen, ist, dass Ihr ausgewähltes Array nur die ID in jedem Element enthalten sollte. Beispiel:

$selectedWarnings = $this->Warning->find('list', array(
    'fields' => array('id') 
)); 


echo $this->Form->input('email_warning_chb', array(
    'label' => 'Email Notice', 
    'type' => 'select', 
    'multiple' => 'checkbox', 
    'options' => $warnings, 
    'selected' => $selectedWarnings 
));