html
<select class=" form-control" name="cNo" id="select_class" style="width: 100%"></select>
初始化select2下拉列表
/**
* 初始化班级下拉列表
*/
function initClassList() {
var select2 = $('#select_class').select2({
placeholder: '暂未设置该生班级',
ajax: {
url: 'classList.do',
dataType: 'json',
type: 'post',
processResults: function (data) {
console.log(data.data);
var realData = $.map(data.data, function (obj) {
//自定义对应关系,id-->cNo,text-->grade、cName
obj.id = obj.id || obj.cNo;
obj.text = obj.text || obj.grade + " " + obj.cName;
return obj;
});
return {
results: realData
};
},
success: function (data) {
if (!data.success) {
Swal.mixin({
toast: true, position: 'top', showConfirmButton: false, timer: 5000
}).fire({type: 'error', title: data.errMsg});
}
},
error: function () {
Swal.mixin({
toast: true, position: 'top', showConfirmButton: false, timer: 5000
}).fire({type: 'error', title: "获取班级列表失败,请重试!"});
}
}
})
}
页面加载时设置select2的初始值
var classSelect = $("#select_class");
// create the option and append to Select2
var option = new Option(realData.sClass.grade + " " + realData.sClass.cName,
realData.sClass.cNo, true, true);
classSelect.append(option).trigger('change');
$.ajax({
type: "post",
url: "studentInfoGet.do",
data: {"sNo": sno},
dataType: "json",
success: function (data) {
var realData = data.data;
if (data.success) {
//使用formautofill插件自动填充表单
$(".form_alter").autofill(realData);
initClassList();
/*初始化当前班级*/
if (realData.sClass) {
var classSelect = $("#select_class");
// create the option and append to Select2
var option = new Option(realData.sClass.grade + " " + realData.sClass.cName,
realData.sClass.cNo, true, true);
classSelect.append(option).trigger('change');
}
} else
Swal.mixin({
toast: true, position: 'top', showConfirmButton: false, timer: 5000
}).fire({type: 'error', title: data.errMsg});
},
error: function () {
Swal.mixin({
toast: true, position: 'top', showConfirmButton: false, timer: 5000
}).fire({type: 'error', title: "未知错误,请稍后再试!"});
}
})
更详细的博客:https://blog.csdn.net/qing_gee/article/details/72519313