2013-02-25 62 views
1

基本上,我需要额外的一点数据才能包含在Zend创建的选择框中。当前的标记如下:在Zend_Form_Element_Select中向选项数组添加额外元素

<select> 
    <option label="Canadian Dollar ($)" value="1">Canadian Dollar ($)</option> 
    <option label="Euro (€)" value="2">Euro (€)</option> 
    <option label="US Dollar ($)" value="3">US Dollar ($)</option> 
</select> 

我试图实现标记是如下(注意附加“数据curreny-type”属性):

<select> 
    <option label="Canadian Dollar ($)" value="1" data-currency-code="CAD">Canadian Dollar ($)</option> 
    <option label="Euro (€)" value="2" data-currency-code="EUR">Euro (€)</option> 
    <option label="US Dollar ($)" value="3" data-currency-code="USD">US Dollar ($)</option> 
</select> 

窗体被

$element = new Zend_Form_Element_Select(self::NAME); 

/* -- OMMITED DB CODE --*/ 

$element->setOptions($options); 

$选项是在形式的阵列:使用Zend如下创建的数组( '1'=> '值1', '2'=> '值2')..等等

我的问题是,是否有任何方法使用Zend-> setOptions($ opts)在'options'元素中添加额外的元素?或者我可能没有意识到的任何事情。

请帮忙!

回答

0

请使用setArribute方法添加其他属性。您可以将数据货币代码添加为属性。

+0

不会'工作..因为attribs被添加到'选择'标签。我需要它添加到'选项'标签。不过谢谢。还有什么建议? – 2013-02-25 11:38:25

2

显示元素的FormSelect视图助手不支持<option>标记上的附加属性,因此实现此目的的唯一方法是使用自己的实现重写该助手。助手类是Zend_View_Helper_FormSelect,所以如果你看看代码,你应该能够看到它是如何工作的。

+0

非常感谢!我会研究一下。 – 2013-02-25 11:58:00

相关问题