Moin Moin和你好,
我对Zend Framework很新,所以我希望我的问题对你来说不是什么大问题。
我正在使用Zend Framework 1.12.5和jQuery Mobile 1.4.0。
我想要做的是在我的注册表单中添加两个水平单选按钮。在阅读jQuery文档后,我发现你需要将radiobuttons添加到属性为'data-type =“horizontal”'的fieldset中。但我不知道如何在框架中做到这一点。
至少我想要这样的东西:
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>Gender</legend>
<input name="radio-choice-h-2" id="radio-choice-h-2a" value="on" checked="checked" type="radio">
<label for="radio-choice-h-2a">male</label>
<input name="radio-choice-h-2" id="radio-choice-h-2b" value="off" type="radio">
<label for="radio-choice-h-2b">female</label>
</fieldset>
以下是我的Zend表格的代码:
$this->addElement('radio', 'gender', array(
'label'=>'Gender',
'value' => '0',
'multiOptions'=>array(
'0' => 'male',
'1' => 'female',
),
'separator' => ' ',
'decorators' => array(
'ViewHelper',
)
));
我试图为fieldset创建一个自己的formelement并在其中包含radiobuttons,但是fieldset在同一时刻被创建和关闭。 (如果你愿意,我也可以发布源代码。) 所以我的HTML看起来像这样:
<form id="register" enctype="application/x-www-form-urlencoded" method="post" autocomplete="off" action=""><div class="form">
<fieldset data-role="controlgroup" data-type="horizontal"></fieldset>
<dt id="gender-label"><label class="optional">Gender</label></dt>
<label><input type="radio" name="gender" ...
如您所见:它不起作用。
有没有人曾经遇到过这个问题并且可以让我朝着正确的方向努力?
感谢您的帮助 Bazti
答案 0 :(得分:1)
不幸的是,前置/附加装饰器并没有解决我的问题(或者我对使用功能方式创建它的经验太少了)但我找到了另一个解决方案:
$this->addElement('radio', 'gender', array(
'label'=>'Gender',
'value' => '0',
'multiOptions'=>array(
'0' => 'female',
'1' => 'male',
),
'separator' => ' ',
'decorators' => array(
'ViewHelper', array(
array('fieldset' => 'HtmlTag'),
array('tag' => 'fieldset',
'data-role' => 'controlgroup',
'data-type' => 'horizontal')
)
)
));
感谢您的帮助,它为我提供了解决此问题的正确方向。 =)
答案 1 :(得分:0)
就个人而言,我会添加一个prepend和一个追加自定义装饰器。
这是允许我了解这种技术的website (wiip.fr)(法语但示例很清楚),否则,我发现it。肯定还有其他:)
我希望这个对你有用。 :)