8

我在 CakePHP 的 Add/Edit 视图中有多个复选框,使用以下命令创建:

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)?

先感谢您!

4

3 回答 3

12

如其他答案所述,您应该设置“选定”选项。有些人没有提到的是,您选择的数组应该只包含每个元素中的 id。例子:

$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
  ));
于 2013-04-05T00:59:32.263 回答
3

这看起来像这个

cakephp:如何将复选框设置为选中?

其中$selected包含选定的值

于 2012-08-28T23:06:10.917 回答
1

在您的控制器中,您必须像这样输入值:

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

它会自动显示选中的复选框。

请询问是否不适合您。

于 2012-08-29T08:27:20.100 回答