Javascript 选择2,结果显示图标
我试图在Yii框架中创建一个下拉列表select2,并使用select2v.3.5.2,包括我尝试过的以下代码片段 此导入选择2 ExtJavascript 选择2,结果显示图标,javascript,yii,select2,Javascript,Yii,Select2,我试图在Yii框架中创建一个下拉列表select2,并使用select2v.3.5.2,包括我尝试过的以下代码片段 此导入选择2 Ext <?php Yii::import('ext.select2.Select2'); ?> 此Select2表格: <?php echo $form->labelEx($model,'icon_mark'); echo Select2::activeDropDownList($model, 'icon_mark', array(),
<?php Yii::import('ext.select2.Select2'); ?>
此Select2表格:
<?php
echo $form->labelEx($model,'icon_mark');
echo Select2::activeDropDownList($model, 'icon_mark', array(), array('class' => 'form-control'));
echo $form->error($model,'icon_mark');
?>
此Html数据(以javascript加载):
欧元
星号
加
这个Javascript:
<option value="euro">euro</option>
<option value="asterisk">asterisk</option>
<option value="plus">plus</option>
$.ajax({
url: "<?php echo CController::createUrl('site/loadkelurahan') ?>",
type: 'POST',
data: {},
success: function (data) {
$('#<?php echo CHtml::activeId($model, 'icon_mark') ?>').html(data);
$('#' + '<?php echo CHtml::activeId($model, 'icon_mark') ?>').select2().select2('val', '');
if ("<?php echo $ismode ?>" == "edit") {
$('#' + '<?php echo CHtml::activeId($model, 'icon_mark') ?>').select2().select2('val', '<?php echo $model->icon_mark?>');
}
},
error: function (jqXHR, status, err) {
alert(err);
}
});
$.ajax({
url:“”,
键入:“POST”,
数据:{},
成功:功能(数据){
$('#').html(数据);
$('#'+'').select2().select2('val','');
如果(“=”编辑“){
$('#'+'').select2().select2('val','');
}
},
错误:函数(jqXHR、状态、错误){
警惕(err);
}
});
在上面的脚本select2正常运行的情况下,我想问一下如何为select2添加模板?
因为我希望下拉菜单分别选择2个自己的图标。
有什么你可以给一个适当的例子。
谢谢。我做了同样的事情,但在Yii2中,基本上你也需要做同样的事情,调整select2小部件的渲染功能 以下是我在yii2中的代码:
<?php $format = new JsExpression(
"function format(icon) {
return '<i class=\"'+ icon.id +'\" aria-hidden=\"true\"></i> ' + icon.text.replace('-', ' ');
}"
);
?>
<?= \kartik\select2\Select2::widget(
[
'name' => 'MenuItem[' . $item->id . '][icon]',
'id' => 'menu-item-icon-' . $item->id,
'data' => array_merge(['none' => 'None'], \rmrevin\yii\fontawesome\FA::getConstants()),
'value' => $item->icon,
'pluginOptions' => [
'templateResult' => $format,
'templateSelection' => $format,
'escapeMarkup' => new JsExpression("function(m) { return m; }"),
'allowClear' => false,
],
]
); ?>
在templateResult和templateSelection回调中,需要呈现图标。在escapeMarkup中,只需返回参数,以确保模板未被转义Yii 1如何?