gpt4 book ai didi

php - Zend Form 如何像这样对元素进行分组?

转载 作者:行者123 更新时间:2023-12-04 06:08:12 27 4
gpt4 key购买 nike

我创建了一个 Zend 表单。我想制作一组像这样输出html的元素:

           <div class="form_wrapper">
<div class="form_label">
<label class="txtlabel" for="salary_type">Salary type</label>
<span>*</span>
</div>
<div class="form_element">
<select class="jp_select" id="salary_type" name="salary_type">
<option>..1..</option>
<option>2</option>
<option>3</option>
</select>
<input type="text" id="salary_min" class="txtinput" name="salary_min" value="Min" onfocus="if(this.value=='Min') this.value='';" onblur="if(this.value=='') this.value=('Min');">
<input type="text" id="salary_max" class="txtinput" name="salary_max" value="Max" onfocus="if(this.value=='Max') this.value='';" onblur="if(this.value=='') this.value=('Max');">
</div>
</div> <!-- end .form_wrapper -->

我的代码:
 $this->addElement('select', 'salary_type', array(
'label' => 'Salary type',
'multiOptions' => $salary_types,
'class'=>'jp_select'
));

$this->addElement('text', 'salary_min', array(
'label' => 'Min',
'class'=>'txtinput'
));

$this->addElement('text', 'salary_max', array(
'label' => 'Max',
'class'=>'txtinput'
));

$this->addDisplayGroup(array('salary_type','salary_min','salary_max'), 'salary_group');

如何将装饰器设置为具有上述 html 输出

最佳答案

据我所知,您无法仅使用简单的装饰器来呈现精确的 html 结构。
解决此问题的一种方法是在 displayGroup 装饰器堆栈中使用 ViewScript 装饰器。在 View 脚本中,您可以使用 $this->element->getElements(); 检索单个元素。 ($this->element 是 Zend_Form_DisplayGroup 的一个实例)

例如:

$this->addDisplayGroup(
array('salary_type','salary_min','salary_max'),
'salary_group',
array(
'decorators' => array(
array('ViewScript', array('viewScript' => 'path/to/viewscript.phtml')),
),
)
);

自己没试过,但应该可以。

关于php - Zend Form 如何像这样对元素进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089894/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com