首页 > 开发 > AJAX > 正文

select2 ajax 设置默认值,初始值的方法

2024-09-01 08:33:58
字体:
来源:转载
供稿:网友

在做功能的时候需要修改数据, 修改数据时需要显示原始值。

但是在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'); 渲染到界面上.. 就可以了。

以上这篇select2 ajax 设置默认值,初始值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表