基本上,我需要在Zend创建的选择框中包含一些额外的数据。目前的标记如下:
<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>
我想要实现的标记如下(注意额外的'data-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>
使用Zend创建表单如下:
$element = new Zend_Form_Element_Select(self::NAME);
/* -- OMMITED DB CODE --*/
$element->setOptions($options);
$ options是一个数组形式:array('1'=&gt;'Value1','2'=&gt;'Value2')..等等。
我的问题是,有没有办法使用Zend - &gt; setOptions($ opts)在'options'元素中添加额外的元素?或者我可能不知道的任何事情。
请帮忙!
答案 0 :(得分:2)
呈现元素的FormSelect
视图助手不支持<option>
标记上的其他属性,因此实现此目的的唯一方法是使用您自己的实现覆盖该帮助程序。帮助程序类是Zend_View_Helper_FormSelect
,因此如果您查看代码,您应该能够看到它是如何工作的。
答案 1 :(得分:0)
请使用setArribute方法添加其他属性。您可以添加数据货币代码作为属性。