2012-08-28 8 views
8

tengo varias casillas de verificación en la vista de Agregar/Editar de CakePHP, creado con:Múltiples casillas de verificación en CakePHP: cómo establecer cuáles están marcadas?

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'); 

Mi pregunta es cómo establecer cuál se marca por defecto (es decir, en Thi ejemplo, 5, 15 y 60.)?

¡Gracias de antemano!

+0

Esta fue una respuesta mejor para mí: http://stackoverflow.com/questions/10243537/cakephp-multiple-select-selected-is-not-working –

+0

Ésta era una mejor respuesta para mí : http://stackoverflow.com/questions/12168225/multiple-checkboxes-in-cakephp-how-to-set-which-are-checked –

Respuesta

1

en su controlador tiene que poner el valor de la siguiente manera:

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

y será mostrar automáticamente la casilla de verificación como seleccionada.

Por favor, pregunte si no funciona para usted.

9

Como dije en otras respuestas, debe establecer la opción 'seleccionada'. Lo que algunas personas no mencionan es que su matriz seleccionada solo debe contener la identificación en cada elemento. Ejemplo:

$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 
)); 
Cuestiones relacionadas