您好我正在尝试执行以下复选框显示:
<input name="choice2" id="choice2" value="1" type="checkbox">
<label for="choice2" class="optional">Credit Card</label><br />
Some text
<input name="choice2" id="choice2" value="1" type="checkbox">
<label for="choice2" class="optional">Credit Card</label><br />
Some text
我非常接近以下代码:
$lbl_spagym = 'Credit Card<br />
<p class="description">Some text</p><br />';
$chk_spagym = new Zend_Form_Element_Checkbox('chk_spagym');
$chk_spagym->setLabel($lbl_spagym)
->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array('Label', array('placement' => 'APPEND', 'escape' => false)),
array('HtmlTag', array('tag' => 'div'))
));
它呈现为:
<div>
<input type="hidden" name="chk_bank" value="0" />
<input type="checkbox" name="chk_bank" id="chk_bank" value="1" checked="checked" />
<label for="chk_bank" class="optional">Credit Card<br />
<p class="relocation_descr">Some text</p><br />
</label></div>
但是我需要<p></p>
超出标签标签,因为'some text'是描述而不是标签。我玩装饰器好几天但是不能正确地做这个行为。非常感谢你的任何评论。
答案 0 :(得分:1)
您应该能够使用
之类的东西创建标记$form->addElement('checkbox', 'choice2', array(
'label' => 'Credit Card',
'decorators' => array(
'ViewHelper',
array('Label', array('placement' => 'append',
'class' => 'optional'))
)
));
这会为复选框“off”值生成一个隐藏元素,但相信我,你想保留它。
答案 1 :(得分:1)
我将问题排序为:
$checkbox_e->setLabel($e_label)
->setDecorators(array('ViewHelper',
'Description',
'Errors',
array('Label',
array('placement'=>'APPEND')),
array('HtmlTag', array('tag' => 'div'))));