我正在使用CakePHP和FormHelper来生成我的表单。
但是,我需要创建一个类似于以下结构的标记:
(radio1) [TEXT_INPUT] or more credits
(radio2) No Limit
现在,我不知道如何处理这个问题,但从逻辑上讲,我会想象它会是这样的:
$options = array(
'oneormore' => $this->Form->input( 'text_for_oneormore' ) . ' or more credits',
'nolimit' => 'No Limit'
);
echo $this->Html->radio( 'quantity', $options, array() );
有没有人有任何想法可以提供?我对这个问题很难过。
答案 0 :(得分:1)
一种方法是使用'before'和'after'选项附加你放在那里的字符串。我想你可以逃离那里的整个田地。
http://book.cakephp.org/view/1393/options-before-options-between-options-separator-a
另一种方法是根据FormHelper创建自己的帮助器。
答案 1 :(得分:0)
我可能有点迟到了,但我在将网站升级到cakephp 2.x时遇到了这个问题。我发现如果我使用“'hiddenField'=> false”选项,我可以将单选按钮分开并放置文本或在它们之间选择输入:
Your question relates to which of the following:<br>
<?php
echo $this->Form->radio("qOption", array('0' => 'Find a store'), array("label" => false, 'hiddenField' => false));
echo $this->Form->radio("qOption", array('2' => 'Choose a Product'), array("label" => false, 'hiddenField' => false));
echo $this->Form->select('product', $products, array());
echo $this->Form->radio("qOption", array('1' => 'Other'), array("label" => false, 'hiddenField' => false));
echo $this->Form->input("other", array("class"=>"f_12_darkgray", "size"=>"40", 'div' => false, "label" => false));
?>