我需要创建另一个Select2元素,但是当我创建一个新的Select2元素时,前一个元素不起作用。
function make(){
$('.agregar_unidad').each(function(index) {
if ($(this).html().length!=27) {
//$(this).children('select').select2("destroy");
} else {
$(this).html('<select class="itemNameUnidad" form-control id="nombre_Unidad_Ejecutora" name="itemName"></select>');
}
$(this).find('select').select2({
placeholder: '--- Seleccione la unidad ---',
alowClear:true,
ajax: {
url: '<?php echo base_url(); ?>home/getUnidad',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: data
};
},
cache: true
}
});
});
}
答案 0 :(得分:0)
因为您正在初始化DOM中的所有select元素。这就是为什么它会使用您初始化的设置影响到第一次选择的原因。
尝试将脚本初始化为$('。agregar_unidad')。closest('select')。select2({settings})
答案 1 :(得分:0)
var nombre = 0;
function refresh(){
$( ".agregar_unidad" ).last().html('<select class="itemNameUnidad" form-control id="nombre_Unidad_Ejecutora'+nombre+'" name="itemName"></select>');
nombre++;
$('.itemNameUnidad').last().select2({
placeholder: '--- Seleccione la unidad ---',
alowClear:true,
ajax: {
url: '<?php echo base_url(); ?>home/getUnidad',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: data
};
},
cache: true
}
});
}
最后这对我有用,这是一个解决方案,但是如果您能告诉我如何做得更好,那将是一件好事,因为我只是一个学生,感谢您的帮助...