【问题标题】:Cakephp set default value for multiple checkbox subgroupsCakephp为多个复选框子组设置默认值
【发布时间】:2026-01-12 15:00:01
【问题描述】:

使用复选框的“子组”时如何设置默认选中的复选框?您可以通过为'options' 属性设置一个嵌套数组来实现所谓的“子组”。我希望默认选中所有复选框。

echo $this->Form->input('fooBar', [
    'type' => 'select',
    'multiple' => 'checkbox',
    'label' => false,
    'class' => 'inlineBlock',
    'options' => [
        'Foo' => [0 => 'Yes', 1 => 'No' ]
        'Bar' => [0 => 'One', 1 => 'Two', 2 => 'Three']
]]);

我试过设置

'选中' => [0 => [0, 1], 0 => [0, 1, 2]]

'检查' => 是的

但没有运气。 如果我手动检查它们而不是提交表单,Cakephp 会生成 URL 参数,就好像没有“子组”一样,例如:

'选项' => [0 => '是', 1 => '否' ]

这与我设置的行为相同

'默认' => [1, 2, 3]

是否可以设置个人复选框“子组”的选中复选框?

【问题讨论】:

    标签: php cakephp checkbox default options


    【解决方案1】:

    你需要使用下面的'val'属性:

                        <?= $this->Form->control("themes._ids", [
                            "label" => false,
                            'multiple' => 'checkbox',
                            "val" => [1, 2, 3]
                        ]) ?>
    

    参考API Doc

    【讨论】: