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>

私が実現しようとしているマークアップは次のとおりです (追加の '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' 要素に余分な要素を追加する方法はありますか? または私が気づいていないかもしれない何か。

助けてください!

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 に答える