我通过以下代码创建表单元素:
$input_new = $this->createElement('radio', 'Stars', array(
'label' => 'Stars',
'Options' => array('class'=>'star {split:2}'),
'multiOptions'=>array(
'1'=> '',
'2'=> '',
'3'=> '',
'4'=> '',
'5'=> '',
'6'=> ''
);
这是我得到的:
<label for="Stars" class="optional">Stars</label>
<label for="Stars-1"><input type="radio" name="Stars" id="Stars-1" value="1" class="star {split:2} in_line"></label><br />
<label for="Stars-2"><input type="radio" name="Stars" id="Stars-2" value="2" class="star {split:2} in_line"></label><br />
<label for="Stars-3"><input type="radio" name="Stars" id="Stars-3" value="3" class="star {split:2} in_line"></label><br />
<label for="Stars-4"><input type="radio" name="Stars" id="Stars-4" value="4" class="star {split:2} in_line"></label><br />
<label for="Stars-5"><input type="radio" name="Stars" id="Stars-5" value="5" class="star {split:2} in_line"></label><br />
<label for="Stars-6"><input type="radio" name="Stars" id="Stars-6" value="6" class="star {split:2} in_line"></label>
我想删除每个输入和标签,但主标签(星号)仍然存在。我怎么能这样做?
答案 0 :(得分:2)
好吧,您的单选按钮可以转到显示组(字段集),因此您也可以删除按钮的所有标签,只需使用组标签即可。如果没有,您可能需要编写外部装饰器视图。我想不出更清洁的方法来摆脱标签。
[编辑]
以下是一个例子:
在表单中,设置如下的装饰器:
$input_new->setDecorators(array(array('ViewScript', array('viewScript' => 'starsview.phtml'))));
然后创建一个starsview.phtml
文件。这些链接应该证明有用,以便弄清楚如何创建视图脚本的内容:
希望这有帮助。