2017-01-17 4 views
0

質問: 1)私 2のために動作しません)が選択されたオプションYii2 - dropDownList()要素に追加のデータ属性を追加して選択しましたか?すでに(リンクの下に)答えを存在するが、

お手伝いできますか?

IMは、USING:

<?=$form->field($invoice, 'id') 
     ->dropDownList(ArrayHelper::map($some_items_array, 'value_field', 'show_field'), [ 
      'options' => [ 
       $some_selected_id => ['Selected'=>true]], 
       'data' => ['attrib1' => "valueA', 'attrib2' => "valueB'] 
      'class' => 'form-control', 
      'prompt' => ''])->label(false); 
?> 

を私は必要がありますが、取得しないでください:

<select name="name"> 

<option value="value" data-attrib1="valueA" data-attrib2="valueB">text< option> 

</select> 

答えて

0

はすでにここに答え>YII - Add another attribute to dropDownList

$attributes = [ 
    'attrib1' => 'valueA', 
    'attrib2' => 'valueB', 
]; 

foreach ($some_items_array as $index => $att) { 
    $dropdownlist_options[$index] = $attributes; 
} 

<?=$form->field($invoice, 'id') 
    ->dropDownList(ArrayHelper::map($some_items_array, 'value_field', 'show_field'), [ 
     'options' => $dropdownlist_options, /* [ 
      $some_selected_id => [ 
       'selected' => true, 
       'attrib1' => 'valueA', 
       'attrib2' => 'valueB', 
      ], 
      $some_other_id => [ 
       'attrib1' => 'valueA', 
       'attrib2' => 'valueB', 
      ], 

     ],*/ 
     'class' => 'form-control', 
     'prompt' => '', 
    ])->label(false); 
?> 
+0

ありがとうございます。この問題は、これは、オプション値idのすべてが既知で有限であることを前提としていることです(それぞれを宣言できるようにするためです)。 $ some_items_arrayは、実行時に長さが不明な項目のリストを返します。 – ajm0824

+0

私の答えはあなたのために更新されましたか? – Ripper

+0

ああ..はい、それはうまくいきました、ありがとう!!私はプログラム的に値を選択しなければなりませんでした。これは、 'options' => [$ some_selected_id => ['Selected' => true]、$ dropdownlist_options]です。 – ajm0824

関連する問題