Несколько флажков в CakePHP - как установить, какие из них установлены?
У меня есть несколько флажков в представлении добавления/редактирования CakePHP, созданных с помощью:
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');
Мой вопрос в том, как установить, какие из них проверяются по умолчанию (т. Е. в этом примере 5, 15 и 60)?
Заранее благодарю вас!
8
Author: user198003, 2012-08-29
3 answers
Это похоже на это
Cakephp: Как установить флажок "проверено"?
Где $selected
содержит выбранные значения
3
Author: Community, 2017-05-23 12:26:08
Как сказано в других ответах, вы должны установить опцию "выбрано". Что некоторые люди не упоминают, так это то, что выбранный вами массив должен содержать только идентификатор в каждом элементе. Пример:
$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
));
11
Author: Pent, 2013-04-05 00:59:32
В вашем контроллере вы должны указать значение следующим образом:
$this->request->data['Model']['email_warning_chb'] = array(5,15,60);
И он автоматически отобразит флажок как выбранный.
Пожалуйста, спросите, не работает ли это для вас.
1
Author: Krishna, 2012-08-29 08:27:20