select2+ajax插件用法记录

html

 <select class=" form-control" name="cNo" id="select_class" style="width: 100%"></select>

初始化select2下拉列表 

   /**
     * 初始化班级下拉列表
     */
    function initClassList() {
        var select2 = $('#select_class').select2({
            placeholder: '暂未设置该生班级',
            ajax: {
                url: 'classList.do',
                dataType: 'json',
                type: 'post',
                processResults: function (data) {
                    console.log(data.data);
                    var realData = $.map(data.data, function (obj) {
                        //自定义对应关系,id-->cNo,text-->grade、cName
                        obj.id = obj.id || obj.cNo;
                        obj.text = obj.text || obj.grade + "  " + obj.cName;
                        return obj;
                    });
                    return {
                        results: realData
                    };
                },
                success: function (data) {
                    if (!data.success) {
                        Swal.mixin({
                            toast: true, position: 'top', showConfirmButton: false, timer: 5000
                        }).fire({type: 'error', title: data.errMsg});
                    }
                },
                error: function () {
                    Swal.mixin({
                        toast: true, position: 'top', showConfirmButton: false, timer: 5000
                    }).fire({type: 'error', title: "获取班级列表失败,请重试!"});
                }
            }
        })
    }

页面加载时设置select2的初始值

 var classSelect = $("#select_class");
                        // create the option and append to Select2
                        var option = new Option(realData.sClass.grade + "  " + realData.sClass.cName,
                            realData.sClass.cNo, true, true);
                        classSelect.append(option).trigger('change');

$.ajax({
            type: "post",
            url: "studentInfoGet.do",
            data: {"sNo": sno},
            dataType: "json",
            success: function (data) {
                var realData = data.data;
                if (data.success) {
                    //使用formautofill插件自动填充表单
                    $(".form_alter").autofill(realData);
                    initClassList();
                    /*初始化当前班级*/
                    if (realData.sClass) {
                        var classSelect = $("#select_class");
                        // create the option and append to Select2
                        var option = new Option(realData.sClass.grade + "  " + realData.sClass.cName,
                            realData.sClass.cNo, true, true);
                        classSelect.append(option).trigger('change');
                    }
                } else
                    Swal.mixin({
                        toast: true, position: 'top', showConfirmButton: false, timer: 5000
                    }).fire({type: 'error', title: data.errMsg});
            },
            error: function () {
                Swal.mixin({
                    toast: true, position: 'top', showConfirmButton: false, timer: 5000
                }).fire({type: 'error', title: "未知错误,请稍后再试!"});
            }
        })

更详细的博客:https://blog.csdn.net/qing_gee/article/details/72519313

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值