You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Select2组件选择完成后如何移除选中结果中显示的图片

解决方法

问题根源是当前Select2的下拉选项渲染、选中结果渲染共用了同一个带图片的模板函数,拆分两个不同的渲染函数即可实现需求:

// 下拉选项渲染模板:保留原有的图片显示逻辑
function formatResult(data) {
    if (!data.id) {
        return data.text;
    }
    let imgProfile = $(data.element).data("src");
    var $result = $(
        `<span class='d-flex justify-content-between'>${data.text} <img src="/img/${imgProfile}" style="max-height:60px;"> </span>`
    );
    return $result;
}

// 选中结果渲染模板:仅返回文本,不加载图片
function formatSelection(data) {
    return data.text;
}

$("#taskPIC").select2({
    placeholder: "Person in charge(PIC)",
    allowClear: true,
    templateResult: formatResult, // 下拉列表用带图模板
    templateSelection: formatSelection // 选中结果用无图模板
});

注:原代码中d-flex类重复定义,上面的代码已同步删除冗余项。如果需要给选中结果添加自定义样式,也可以在formatSelection函数中返回带样式的span结构,只要不插入img标签即可。

内容的提问来源于stack exchange,提问作者MOHAMMAD FARHAN FAJRUL HAQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:45:03