select2回显操作

1.在做项目的过程中,经常用到select2,它比select下拉框方便,经常有一些需求就是select搜出来显示的和回显到select框上的结果不一样。 效果图如下:

下拉框搜索展示的

下拉框回显的值
在这里插入图片描述

代码如下:
代码中的加号是个人需要效果,根据自己需求自行调节

function formatSelectB(repo) {
    let split = repo.text.split("+");
    return split[0];
}
//select2赋值操作
function formatRepo(repo) {
    if (repo.loading) {
        return repo.text;
    }
    var $container = $(
        "<div class='select2-result-repository clearfix'>" +
        "<div class='select2-result-repository__meta'>" +
        "<div class='select2-result-repository__title'></div>" +
        "</div>" +
        "</div>"
    );
    $container.find(".select2-result-repository__title").text(repo.text);
    return $container;
}

allowClear设置为true,会有一个清除作用(蓝色框中)
在这里插入图片描述

$('#A').select2({
    placeholder: "请输入",
    language: "zh-CN",
    minimumInputLength: 0,
    allowClear: true,
    width: '200px',
    ajax: {
        url: "",
        dataType: 'json',
        method: 'get',
        data: function (params) {
            return {optionB: params.term};
        },
        processResults: function (data) {
            var options = new Array();
            $(data.data).each(function (i, o) {
                var optionName = o.optionBName == null || o.optionBName == undefined ? '' : o.optionBName;
                var optionType = o.optionB == null || o.optionB == undefined ? '' : o.optionB;
                options.push({          //获取select2个必要的字段,id与text
                    id: optionType + "" + "+" + optionName,
                    text: optionType + "" + "+" + optionName
                });
            });
            return {
                results: options        //返回数据
            };
        },
        cache: true
    },
    templateResult: formatRepo,
    templateSelection: formatSelectB
});

html代码如下:

   <select class="form-control " id="A" required>
                                                </select>

如果直接回显,没这么麻烦,删掉引用的这俩就ok
在这里插入图片描述

以上over,欢迎补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值