CakePHP 3 - 表单选择选项组 - 多个复选框

时间:2016-02-24 19:12:27

标签: checkbox cakephp-3.0 formhelper

首先,我已经成功实施了一个带有选项组的多选框,基于提供一组结构如下的选项:

$options = [
   'Group 1' => [
      'Value 1' => 'Label 1',
      'Value 2' => 'Label 2'
   ],
   'Group 2' => [
      'Value 3' => 'Label 3'
   ]
];
echo $this->Form->select('field', $options);

这可以直接来自Cookbook:http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-select-pickers

效果很好,并且完全按照应有的方式制作一个选择框。我的问题是我想将显示更改为多个复选框。为此,我已将代码切换为:

echo $this->Form->input('field', [
        'multiple' => 'checkbox',
        'options' => $options
    ]);

当我这样做时,显示屏最终成为一个复选框,旁边列出了所有选项。

在搜索stackoverflow时,我发现了以下内容:How to create multiple checkboxes grouped by fieldsets in Cakephp 3

大多数似乎表明Cake中没有包含该功能,您需要自己构建它。关于最初问题的一条评论引用了食谱,并且明确指出:

  

如果您想使用optgroups生成一个选择,只需以分层格式传递数据。这也适用于多个复选框和单选按钮,但不是optgroups包装字段集中的元素:

似乎没有人就这个问题发表评论。我的问题非常简单。 CakePHP 3是否允许按照文档中的说明创建多个复选框,或者文档是否不正确并且此功能未包含在核心中?如果答案是核心功能包含在内,那么让它运行起来的诀窍是什么呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

在多选复选框中

<?= $this->Form->select('input_name',$checkboxarray, array('selected' =>$send_checkbox_select,'multiple' => 'checkbox')); ?>

$checkboxarray=[
  'Value 1' => 'Label 1',
  'Value 2' => 'Label 2'
`],