首先,我已经成功实施了一个带有选项组的多选框,基于提供一组结构如下的选项:
$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是否允许按照文档中的说明创建多个复选框,或者文档是否不正确并且此功能未包含在核心中?如果答案是核心功能包含在内,那么让它运行起来的诀窍是什么呢?
谢谢!
答案 0 :(得分:1)
在多选复选框中
<?= $this->Form->select('input_name',$checkboxarray, array('selected' =>$send_checkbox_select,'multiple' => 'checkbox')); ?>
$checkboxarray=[
'Value 1' => 'Label 1',
'Value 2' => 'Label 2'
`],