Cakephp 3 无法标记多个复选框已选中
Cakephp 3 Unable to mark multiple checkboxes selected
我的编辑视图文件有一组复选框。我已经设法从数据库中检索了选中的复选框值,并希望在视图文件中将它们标记为已选中。
编辑视图文件
<div class="col-md-12">
<?= $this->Form->label('category','Pick Categories');?>
<?= $this->Form->select('category', $options,['multiple'=>'checkbox', 'required'=>'false', 'label'=>'Category','class'=>'col-md-12','selected'=>$catSel]); ?>
</div>
$选项是
$options = ['A'=>'Val1',
'B'=>'Val2',
'C'=>'Val3',
'D'=>'Val4',
'E'=>'Val5'];
$catSel 已在我的控制器中设置并返回正确的值。我检查了 print_r(),如下所示:
Array ( [0] => 1 [1] => 3 )
我也试过直接输入选择的值
<?= $this->Form->select('shop_category', $options,['multiple'=>'checkbox', 'required'=>'false', 'label'=>'Shop Category','class'=>'col-md-12','selected'=>[1,3]]); ?>
我也试过以
的形式发送 $catSel
Array ( [0] => A [1] => C )
None 这行得通。不知道为什么。除了设置 'selected' 作为选择数组之外,我无法在任何地方找到任何解决方案。任何帮助将不胜感激。
该选项不再称为 selected
,而是 val
。看起来像 the Cookbook is a little out of date on that one, it's however shown correctly in the API docs.
另请注意,您必须使用您想要选择的选项的实际键,即在您的情况下,您必须使用示例中的后者并传递字符串A
和 C
.
我的编辑视图文件有一组复选框。我已经设法从数据库中检索了选中的复选框值,并希望在视图文件中将它们标记为已选中。
编辑视图文件
<div class="col-md-12">
<?= $this->Form->label('category','Pick Categories');?>
<?= $this->Form->select('category', $options,['multiple'=>'checkbox', 'required'=>'false', 'label'=>'Category','class'=>'col-md-12','selected'=>$catSel]); ?>
</div>
$选项是
$options = ['A'=>'Val1',
'B'=>'Val2',
'C'=>'Val3',
'D'=>'Val4',
'E'=>'Val5'];
$catSel 已在我的控制器中设置并返回正确的值。我检查了 print_r(),如下所示:
Array ( [0] => 1 [1] => 3 )
我也试过直接输入选择的值
<?= $this->Form->select('shop_category', $options,['multiple'=>'checkbox', 'required'=>'false', 'label'=>'Shop Category','class'=>'col-md-12','selected'=>[1,3]]); ?>
我也试过以
的形式发送 $catSelArray ( [0] => A [1] => C )
None 这行得通。不知道为什么。除了设置 'selected' 作为选择数组之外,我无法在任何地方找到任何解决方案。任何帮助将不胜感激。
该选项不再称为 selected
,而是 val
。看起来像 the Cookbook is a little out of date on that one, it's however shown correctly in the API docs.
另请注意,您必须使用您想要选择的选项的实际键,即在您的情况下,您必须使用示例中的后者并传递字符串A
和 C
.