1

基本上,我需要在使用 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>

我试图实现的标记如下(注意附加的“数据货币类型”属性):

<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) 将额外的元素添加到“选项”元素中?或者我可能不知道的任何事情。

请帮忙!

4

2 回答 2

2

呈现元素的FormSelect视图助手不支持<option>标签上的附加属性,因此实现这一点的唯一方法是用您自己的实现覆盖该助手。助手类是Zend_View_Helper_FormSelect,所以如果你看一下它的代码,你应该能够看到它是如何工作的。

于 2013-02-25T11:51:49.380 回答
0

请使用 setArribute 方法添加附加属性。您可以将 data-currency-code 添加为属性。

于 2013-02-25T11:12:50.867 回答