使用FormHelper显示单选按钮

时间:2015-02-04 02:55:18

标签: forms cakephp cakephp-3.0

我正在使用CakePHP3

我无法破译使用单选按钮创建结果列表的文档。

create radio button

我试过这种方式:

foreach ($userGroups as $group_id => $group) {
      echo $this->Form->radio("UserGroup.$group_id.id", ['value' => $group_id, 'label' => $group]);
}

using select pickers

其中说你需要做的就是将类型设置为无线电。但是我检查了api并looks like it will unset the type

无论如何,我试过

echo $this->Form->select("user_circle_id", $userGroups, ['type' => 'radio']);

没有任何作用。

请告知。

更新

$userGroups = [1 => 'Group 1', 2 => 'Group 2']; // basically primary key is keys and the display fields are the values.

1 个答案:

答案 0 :(得分:2)

使用以下语法:

$selectedStatus = 1;

$attributes = array('legend'=>false,'value'=>$selectedStatus,'class'=>'sortByStatusCourse','name'=>'sortByStatusCourse');
$options = array("1"=>"Active","0"=>"Inactive");
echo $this->Form->radio('is_active', $options,$attributes);

代码说明:  我们将参数传递给cakePHP核心,以便它以HTML格式输出单选按钮。

echo $this->Form->radio : 

这里的第一个参数是数据库中的字段名称。第二个参数是单选按钮有哪些选项,它的值和文本.3rd参数是什么属性,如它应该是它的默认value这里我明确地将它设置为1所以它已经勾选带有Active文字的广播。

根据您的代码:echo $this->Form->radio("UserGroup.$group_id.id", ['value' => $group_id, 'label' => $group]);

我认为param的顺序错误,因为你在第二个param中传递了VALUE,这应该是第三个参数。检查我的代码。