在layer open中使用select2会出现样式冲突无法加载。我的解决思路是layer有一个success方法,在页面加载完的时候使用success方法重新加载select2 样式。
具体实现代码逻辑:
layer.open({
type: 1,
title:'面试结果',
shift: 7,
area: ['470px', '450px'],
shadeClose: true,
btn: ['<i class="fa fa-save"></i> 保存','<i class="fa fa-close"></i> 关闭'],//按钮
content: js.template('dialogTpl',{applicantName:applicantName,code:$(e).attr("rowId")}),
success:function(layero){
//页面加载完带出默认项
$(layero).find("#dialogForm").find("#interviewResult").select2({dropdownParent:$(layero).find("#dialogForm")}).val(interviewResult).trigger("change");
},
yes: function(index, layero){
var formData = $(layero).find("#dialogForm").serializeArray();
}
});
但是select下拉的选项没有出现在dialog中,因此需要使用dropdownParent 指定父布局。
注:我的content使用的是模板的形式。