2017-05-08 11 views
0

値。配列はモデルからではないので、私はActiveFormを使用していません。yii2 HtmlHelperのドロップダウンリストには、私は以下のように配列を持つ

echo Html::dropDownList("Listname","",$array,['prompt' => '--- select ---']) ; 
echo Html::dropDownList("Listname","",ArrayHelper::map($array,'id','value'),['prompt' => '--- select ---']) ; 

のvar_dump

array(2) { [0]=> string(6) "value1" [1]=> string(6) "value2" [3]...} 

出力HTMLはこの

<select name="Listname" > 
<option value>---select---</option 
<option value="0">Value1</option> 
<option value="1">Value2</option> 
<option value="2">Value3</option> 
<option value="3">Value4</option> 
</select> 

のようになりますどのように私は名前に=する値を設定するには?

<option value="value1">Value1</option> 
<option value="value2">Value2</option> 
<option value="value3">Value3</option> 
<option value="value4">Value4</option> 

私はおそらくArrayHelperを何とか使用しなければならないことに気付きましたが、それを得ることはできません。それ、またはhtmlhelperのオプションタグ。

ありがとうございます!

+0

'ArrayHelper :: map($ array、 'value'、 'value')' – ArtOsi

+0

こんにちは、私は配列のvar_dumpで編集しました。この場合、まだ作業をマップしますか? 私は配列を再フォーマットしようとし、それをテストします。 – HelloGaro

答えて

0

あなたが持っている:

echo Html::dropDownList("Listname","",ArrayHelper::map($array,'id','value'),['prompt' => '--- select ---']) ; 

あなたがその内容として、各入力に同じ値が必要な場合、それは次のようになります。詳細については

echo Html::dropDownList("Listname","",ArrayHelper::map($array,'value','value'),['prompt' => '--- select ---']) ; 

、公式ArrayHelperを見てみましょう: :map documentation:http://www.yiiframework.com/doc-2.0/yii-helpers-basearrayhelper.html#map()-detail

Html :: dropDownListはkey => value配列を期待していることに注意してください。つまり、ArrayHelperは名前の通りヘルパーです。より快適に感じるなら、自分でアレイを構築することができます。

+0

ありがとう!私は自分の配列が正しい順序でないと信じています。私は新しい配列でそれをテストします – HelloGaro

関連する問題