我创建了以下HTML代码
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active">
<input type="radio" checked=""> Radio 1
</label>
<label class="btn btn-primary">
<input type="radio"> Radio 2
</label>
</div>
现在我需要这个带有CAKEPHP表单助手的html所以尝试很多mehtod来实现这一点,最后我得到的格式部分不完全,我使用下面的代码
$options=array('1'=>'Radio 1', '2'=> 'Radio 2');
$attributes=array(
'legend'=>false,
'label' => false,
'div' => false,
'class' => 'required',
'default'=> 0,
'before' => '<label class="btn btn-primary">',
'separator' => '</label><label class="btn btn-primary">',
'after' => '</label>',
);
echo $this->Form->radio('radio_btn',$options,$attributes);
但是这段代码输出如下面的代码
<div class="btn-group" data-toggle="buttons">
<input type="radio" name="data[RadioBtn][radio_btn]" id="RadioBtnId1" class="required" before="<label class="btn btn-primary">" after="</label>" value="1">Radio 1
<label class="btn btn-primary">
<input type="radio" name="ata[RadioBtn][radio_btn]" id="RadioBtnId2" class="required" before="<label class="btn btn-primary">" after="</label>" value="2">Radio 2
</label>
</div>
任何人都可以建议我这个代码有什么问题,或者如果您有任何想法,请帮助我。
答案 0 :(得分:1)
聚会晚了一点,但是今天我实际上遇到了同样的问题。您可以使用FormHelper::input(string $fieldName, array $options = array())
方法实现此输出:
$options = array(
'type' => 'radio',
'legend'=> false,
'label' => false,
'div' => array('class' => 'btn-group', 'data-toggle' => 'buttons'),
'class' => 'required',
'default'=> 0,
'before' => '<label class="btn btn-primary">',
'separator' => '</label><label class="btn btn-primary">',
'after' => '</label>',
'options' => array('1' => 'Radio 1', '2' => 'Radio 2'),
);
echo $this->Form->input('radio_btn', $options);
这将产生以下HTML:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="data[radio_btn]" id="radio_btn1" value="1" class="required">
Radio 1
</label>
<label class="btn btn-primary">
<input type="radio" name="data[radio_btn]" id="radio_btn2" value="2" class="required">
Radio 2
</label>
</div>