select2详解编程语言

在做功能的时候需要修改数据, 修改数据时需要显示原始值. 
但是在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: [email protected]' 
            }; 
        }, 
        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; }//,  // 函数用于呈现当前的选择  
    }); 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

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

    //再次加载默认值. 赋值.  
     $.ajax({ 
            url: "/Report/AjaxOption/Ajax_LoadHospitalByHospitalCodes",  
            data: { HospitalCodes: [email protected]' }, 
            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上. 
            }  
        }); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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

转载地址:https://blog.csdn.net/apollo47/article/details/54612930

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13704.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论