【问题标题】:display radio buttons using FormHelper使用 FormHelper 显示单选按钮
【发布时间】:2015-02-04 02:55:17
【问题描述】:

我正在使用 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.

【问题讨论】:

    标签: forms cakephp cakephp-3.0


    【解决方案1】:

    使用以下语法:

    $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 : 
    

    这里的第一个参数是数据库中字段的名称。第二个参数是什么是单选按钮的选项,它的值和文本。第三个参数是它的属性,比如它的默认值value 在这里我明确地将它设置为1,所以它已经用@987654325 勾选了收音机@文本。

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

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

    【讨论】:

    • 感谢您的回答帮助。正确的代码是echo $this->Form->radio("user_circle_id", $userGroups);
    • @KimStacks ,欢迎,请编辑问题并写 -> update : 并写下您用于 $userGroups 的内容,我的意思是该数组,因为它没有出现在您的问题中。
    猜你喜欢
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多