CakePHP 3.x 单选按钮标签显示问题求助
搞定CakePHP单选按钮选项标签不显示的问题
嘿,我一眼就看出问题出在哪了——你用错了选项文本的参数名!CakePHP的FormHelper里,定义每个单选按钮的显示文本得用label键,不是你写的text键。另外你第三个参数里的label是用来设置整个单选组的标题,和每个选项的文本是两回事哦。
直接上正确代码
如果是用CakePHP 3.x及以上版本(现在大部分项目都是这个范围了),改成下面这样就行:
echo $this->Form->radio('qualify', [ ['value' => 1, 'label' => 'Yes'], ['value' => 0, 'label' => 'No'] ], ['label' => 'Qualify Only'] );
补充不同版本的写法
要是你还在维护CakePHP 2.x的老项目,写法得换一下——直接用键值对定义选项,而且组标题要用legend而不是label:
echo $this->Form->radio('qualify', [1 => 'Yes', 0 => 'No'], ['legend' => 'Qualify Only'] );
进阶小技巧
要是你想给某个选项的标签加样式或者自定义属性,还能把label改成数组传参,比如:
['value' => 1, 'label' => ['text' => 'Yes', 'class' => 'custom-radio-label']]
这样改完,你要的"Yes"和"No"标签就能正常显示,同时整个单选组上方也会出现"Qualify Only"的标题啦。
内容的提问来源于stack exchange,提问作者Jeffrey L. Roberts
相关产品推荐
相关产品推荐

