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