2016-11-25 9 views
1

DropdownListウィジェットアイテムにアイコンを追加するには?私はこれが欲しいYii2。 DropdownListウィジェットアイテムにアイコンを追加

enter image description here

を(ガラス張り-devがsemantic-uiからこの権利を取った)が、ウィジェットを使用した後に、アイコンを追加することは非常に難しいです。ここで

は私のコードと出力

<?php $items = [ 
      '123' => '<i class="af flag"></i>aaa', 
      '124' => 'bbb', 
      '345' => 'ccc', 
     ] 
     ?> 
     <?=$form->field($model, 'country', [ 
      'template' => '{label} <div class="field">{input}{error}{hint}</div>', 
     ])->dropDownList($items, ['class' => 'ui dropdown selection', 'prompt' => 'Select Country']);?> 

enter image description here

は何のコードスニペット/ライブラリは、このタスクを実行するために私を助けることができますか?私はActiveFieldとして使用できる任意の実装が必要です。

[UPD]

scaisEdgeオプションは、DropDownListコントロールは、基本的なUIコントロールである基本的なSELECTドロップダウン、(HTMLコンテンツがカバーされていない)の実装です。この enter image description here

答えて

2

を与えましたSelect2コンポーネント(http://demos.krajee.com/widget-details/select2) のようなより高度なドロップダウンセレクタが必要で、widget()メソッドを使用してそのクラスを使用してコントロールの構築を呼び出します。

$form->field($model, 'country', [ 
      'template' => '{label} <div class="field">{input}{error}{hint}</div>', 
    ])->widget(Select2::classname(),[ 
    'data' => $data, 
    'options' => ['placeholder' => 'Select a state ...'], 
    'pluginOptions' => [ 
     'templateResult' => new JsExpression("function format(state) { return '<img src=flag.png >';}"), 
     'templateSelection' => new JsExpression("function format(state) { return '<img src=flag.png >';}"), 
     'escapeMarkup' => $escape, 
     'allowClear' => true 
    ], 
]); 

ただ、他の人のためhttp://demos.krajee.com/widget-details/select2#usage-advanced

+1

でいくつかの例を参照してください。私は簡単にして、マークアップにいくつかのHTMLを入れましたが、私はこのように行動することをお勧めしません。イゴールの方が良いです。 –

関連する問題