19


4

次のようにZend_Formインスタンスにselect要素を追加します。

$ user = $ form-> createElement( 'select'、 'user') - > setLabel( 'User:') - > setRequired(true); foreach($ usersを$ uとして){if($ selected == $ u-> id){$ user-> addMultiOption($ u-> id、$ u->名) ''。$ u->姓); // ***選択したオプションを設定する方法 selected = "選択"

else else $ user-> addMultiOption($ u-> id、$ u-> firstname。 ''。$ u-> lastname); }

ドキュメントを検索していますが、select要素のオプションを 'selected’に設定する簡単な方法を見つけることができません。

7 Answer


50


私はちょうどそれをする方法を考え出しました。

要素のsetValue()メソッドを使う必要があります。

$ user = $ form-> createElement( 'select'、 'user') - > setLabel( 'User:') - > setRequired(true); foreach($ usersを$ uとして)$ user-> addMultiOption($ u-> id、$ u-> firstname。 ''。$ u-> lastname);

$ user-> setValue($ selected); // $ selectedは適用する値の 'value'です。selected = "selected"。


29


$ form-> addElement( 'select'、 'foo'、array( 'label' => 'ComboBox(select)'、 'value' => 'blue'、 'multiOptions' => array( 'red' => ' Rouge '、' blue '=>' Bleu '、' white '=>' Blanc '、)、));

上記のように、 'blue' ⇒ 'Bleu’を選択するために 'value' ⇒ 'blue’を使うことができます。

これがお役に立てば幸いです。


5


Zend Framework 2では、 'value’属性を設定します。 たとえば、デフォルトでは「選択」を「はい」に設定します。

$ this-> add(array( 'name' => 'isF flexible'、 'type' => 'Select'、 'options' => array( 'label' => '柔軟ですか?'、 'label_attributes' => array( 'placement' => 'APPEND')、 'value_options' => array( '' => '下の選択'、 '0' => 'No'、 '1' => 'Yes'、 '2' = > 'N / A'、)、)、 'attributes' => array( 'id' => 'is_f flexible'、 'value' => 1、)、));


1


私はこれがうまくいくと思います:

$ form-> setDefault( 'user'、 'value'); //要素のデフォルト値を設定します


0


デフォルト値を設定するには、setDefaultまたはpopulateの両方を試すことができます。

$ form→ populate($ array_keypair_values);


0


私はちょうどコントローラから選択されたドロップダウン値を表示するために次のコードを試してみて、それはうまく動作します。

$ user→ setValue($ value); // $ valueはの値で、$ userはfromの要素です。


0


上記の解決法はZend Framework 2ではうまくいきません。Zf2を使う人のために、デフォルト値を設定するために次の命令を使うことをお勧めします。

$ formX-> get( '') - > setValue();