在做功能的时候需要修改数据, 修改数据时需要显示原始值.
但是在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