2016-11-25 78 views
1

如何将图标添加到DropdownList控件项目?Yii2。将图标添加到DropdownList控件项目

我想有这个(额,开发了这一权利从semantic-ui

enter image description here

但使用插件后,这是相当困难添加一个图标。

这里是我的代码和输出

<?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选项给这个 enter image description here

回答

2

DROPDOWNLIST是基本选择下拉,这是一个基本的用户界面控制的实施(HTML内容不被覆盖)。您需要更高级的下拉选择器,如Select2 Component(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加入标记,但我不建议采取这种方式。伊戈尔方式更好。 –