基本上,我需要一个额外的数据位来包含在使用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'=>'Value1','2'=>'Value2'(。。等
我的问题是,有没有办法使用Zend->setOptions($opts(将额外的元素添加到"options"元素中?或者任何我可能不知道的事情。
请帮忙!
渲染元素的FormSelect
视图辅助对象不支持<option>
标记上的其他属性,因此实现这一点的唯一方法是用自己的实现覆盖该辅助对象。helper类是Zend_View_Helper_FormSelect
,所以如果您查看它的代码,您应该能够了解它是如何工作的。
请使用setArribute方法添加额外的属性。您可以添加数据货币代码作为属性。