我是 CakePHP 的新手,现在我正在处理复选框,我使用了以下语句,但它在标签之后给出了复选框,它也打印了字段。我的要求是它不打印字段名称,并且标签应该在检查后显示盒子。请帮助我,在此先感谢
<?php echo $form->input('Model.name', array('multiple' => 'checkbox', 'options' =>
$options, 'selected' => $selected));?>
我是 CakePHP 的新手,现在我正在处理复选框,我使用了以下语句,但它在标签之后给出了复选框,它也打印了字段。我的要求是它不打印字段名称,并且标签应该在检查后显示盒子。请帮助我,在此先感谢
<?php echo $form->input('Model.name', array('multiple' => 'checkbox', 'options' =>
$options, 'selected' => $selected));?>
首先,确保您的值是boolean 或 tinyint。否则,您将永远不会得到复选框。
然后,像这样构建:
echo $this->Form->input('Model.field', array(
'type' => 'select',
'multiple' => 'checkbox',
'options' => array(
'Value 1' => 'Label 1',
'Value 2' => 'Label 2'
)
));
要绘制复选框,您必须首先正确配置 DB 中的表。在 DB 中的字段上设置这些选项:
最后是你的观点:
echo $this->Form->input('checkbox_field');
如果没有,100% 将起作用,然后为您的字段设置默认值:
echo $this->Form->input('checkbox_field', array('type'=>'checkbox'));
我的解决方案是根据 v.2.0
<?php
echo $this->Form->input('field_name', array(
'label' => 'Some label',
'selected' => $selected
/*maybe some other options*/
));
?>
如果您在上面指定了模型名称,则在创建表单时,您不需要使用模型名称。如果字段是布尔值,您会自动将控件作为复选框。此外,您可以在选项数组中指定它,例如
'type'=>'checkbox'
祝你好运!
CakePHP 3.0
$this->Form->input('id', ['type'=>'select', 'multiple' => 'checkbox', 'options'=>$array]);