这是我过去尝试使用CakePHP Form Helper的过程。这些例子是我自己和我发现的混合,绝对不起作用。每个示例都运行相同的数据,这些数据已设置并应生成一个选中的复选框,但使用Form Helper肯定会像我期望的那样工作。
此作品
这确实有效,但我想使用CakePHP表单助手
<input type="checkbox" name="value" <?php if(($this->data[ $alias ])){echo "checked";}?>>
但这不起作用
<?php
echo $this->Form->checkbox('value', [
'checked' => ($this->data[ $alias ]) ? true : false
]);
?>
不起作用
显然这对某些人有用,因为我发现这是许多人的解决方案,但它肯定不会检查复选框。
<?php
$checked = if($this->data['alias']) ? true : false;
echo $this->Form->checkbox('value', ['checked' => $checked]);
?>
有效吗
无论出于何种原因,这确实有效,但不是很有用,所以我在下面的例子中做了下一个最好的事情。
<?php
echo $this->Form->checkbox('value', ['checked']);
?>
但是这不起作用???
虽然上面的例子确实有用,但这不是......
<?php
$options = [];
if($this->data[ $alias ]) {
array_push($options, 'checked');
// $options = ['checked']; // this didn't work either
}
echo $this->Form->checkbox('value', $options);
?>
答案 0 :(得分:0)
好吧,我之前没有尝试过,这是愚蠢的,但对于那些有同样问题和鸽子洞的人来说,这要求你不要使用布尔,必须是&# 39,真正的&#39;和&#39; false&#39;。
有效的解决方案
<?php echo $this->Form->checkbox('value', [
'checked' => ($this->data[ $alias ]) ? 'true' : 'false'
]); ?>