select2

匿名 (未验证) 提交于 2019-12-03 00:37:01



研究了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; }//,  // 函数用于呈现当前的选择      });  
  • 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: '@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上.             }          }); 
  • 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

文章来源: select2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!