CakePHP中的多个复选框 - 如何设置检查哪些?

时间:2012-08-28 22:09:02

标签: cakephp cakephp-2.0 checkbox

我在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中)?

提前谢谢!

3 个答案:

答案 0 :(得分:11)

如其他答案所述,您应该设置'selected'选项。 有些人没有提到的是,您选择的数组应该只包含每个元素中的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
  ));

答案 1 :(得分:3)

这看起来像这个

cakephp: How to set checkbox to checked?

其中$selected包含所选值

答案 2 :(得分:1)

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

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

,它会自动显示所选的复选框。

请询问是否不适合你。