加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

select2 ajax 设置默认值,初始值

发布时间:2020-12-16 03:20:06 所属栏目:百科 来源:网络整理
导读:在做功能的时候需要修改数据,修改数据时需要显示原始值. 但是在select2的时候 显示原始值是一个非常非常非常非常非常要命的难题. 研究了3个小时,最后使用$.ajax 重新加载原始值. 并显示. //two AJAX获取数据方式(每次请求) var $c_HospitalCode = $( "#c_Hos

在做功能的时候需要修改数据,修改数据时需要显示原始值.
但是在select2的时候 显示原始值是一个非常非常非常非常非常要命的难题.
研究了3个小时,最后使用$.ajax 重新加载原始值. 并显示.

//two AJAX获取数据方式(每次请求)
    var $c_HospitalCode = $("#c_HospitalCode").select2({
    ajax: {
        type: 'GET',url: "/Report/AjaxOption/Ajax_LoadHospitalByKey",dataType: 'json',delay: 400,data: function (params) {
            return {
                key: params.term,// search term 请求参数
                page: params.page,MKORGCode: '@VModel.MKORGCode'
            };
        },processResults: function (data,params) {
            //重命名字段名
            for (var i = 0; i < data.length; i++)
            {
                data[i].id = data[i].Value;
                data[i].text = data[i].Name;
            }
            //params.page = params.page || 1;
            return {
                results: data//,//itemList
                //pagination: {
                // more: (params.page * 30) < data.length
                //}
            };
        },cache: true
    },placeholder: '请选择',//默认文字提示
    //placeholder: { id: "2",text: "text2" },
    language: "zh-CN",tags: true,//允许手动添加
    separator: ",",// 分隔符
    allowClear: true,//允许清空
    escapeMarkup: function (markup) { return markup; },// 自定义格式化防止xss注入
    minimumInputLength: 3,//最少输入多少个字符后开始查询
    formatResult: function formatRepo(repo) {  return repo.text; },// 函数用来渲染结果
    formatSelection: function formatRepoSelection(repo) { return repo.text; }//,// 函数用于呈现当前的选择 
    });

重点是下面的代码,再次加载默认值. 赋值.

//再次加载默认值. 赋值. 
     $.ajax({
            url: "/Report/AjaxOption/Ajax_LoadHospitalByHospitalCodes",data: { HospitalCodes: '@VModel.HospitalCode' },dataType:'json',success: function (data) { 
                for (var d = 0; d < data.length; d++) {
                    var item = data[d]; 
                    var option = new Option(item.Name,item.Value,true,true); 
                    $c_HospitalCode.append(option);
                }

                $c_HospitalCode.trigger('change');//使用这个方法显示到select2上.
            } 
        });

主要是在select 控件添加上 option . 具体是ajax加载的还是直接后台用代码生成的. 都可以.. 最后用 $select2.trigger(‘change’); 渲染到界面上.. 就可以了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读