2013-02-25 106 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

相關問題