select2正常复制,会多一个框出来,因为需要在复制之前将select2给销毁
但是对于动态加载的optionlist 的select2,单单销毁是不够的
因为缓存的原因,select2会保存复制之前的select2的option,也尝试了销毁再重建,但是还是会有问题,因此直接remove select2下的所有option即可。
//+
$(".org_list").on("click", ".plus_ps", function () {
if ($(".org_item").length >= 5)
alert("只支持最多5个单位之间的对比");
else {
var $this = $(this);
var sourceselect = $this.parent().find('select');
sourceselect.select2('destroy');
var html = $this.parent().clone();
$this.parent().after(html);
//查找刚刚复制的select
var tagertSelect = $this.parent().next().find('select');
//定义select2
$(".org_select").select2({
placeholder: '请输入',
ajax: {
url: function (params) {
return CPRO.getVirtualPath() + "/PersonalityDataStatistics/GetOrganizationList";
},
dataType: 'json',
delay: 250,
data: function (params) {
var queryParameters = {
keywords: params.term
};
return queryParameters;
},
processResults: function (data) {
return {
results: data.message
};
},
cache: false
}
});
//清空缓存的option
tagertSelect.find('option').remove();
//添加相关的div---与select2操作无关
var totalDiv = $('.total_div').find('.total_item:last');
var clDiv = totalDiv.clone();
$('.total_div').find('.total_item:last').after(clDiv);
$('.total_div').find('.total_item:last').find('option:last').text("");
}
});
//-
$(".org_list").on("click", ".reduce_ps", function () {
if ($(".org_item").length <= 2) { return; }
var $this = $(this);
//删除该div
$this.parent().remove();
//删除相关的div
$('.total_div').find('.total_item:last').remove();
PersonalityChart();
});
参考博客:
https://blog.csdn.net/cccaaa8888/article/details/51362774
https://blog.csdn.net/weixin_40010498/article/details/81902866