我以这种方式定义了多重选择:
<select class="form-control" name="citiesNotValid">
如果我将其初始化为 select2,它会复制选择元素,一个可以工作并填充我预先选择的选项,另一个为空且不工作。 这是 select2 的初始化:
$(s).select2({
language: "it",
placeholder: {
id: '-1', // the value of the option
text: 'All'
},
width: '100%',
//multiple: true,
allowClear: true,
ajax: {
delay: 500,
type: "POST",
contentType: "application/json; charset=utf-8",
url: o,
dataType: "json",
cache: 1,
data: function (params) {
var query = JSON.stringify({
country_code: country,
search: params.term
})
return query;
},
processResults: function (t) {
return {
results: $.map(JSON.parse(t.d), function (obj) {
if (obj.city_name == "-") {
return { id: "-1", text: "Tutte" };
}
return { id: obj.city_name, text: obj.city_name };
})
};
},
error: function (t, o, i) {
var n = "Si è verificato un errore. Controlla di aver passato correttamente tutti i parametri.";
//if (t.statusText != null && t.statusText != "")
// n = t.statusText;
"toastr" == a && toastr ? toastr.error(n) : "notific8" == a && $.notific8 ? ($.notific8("zindex", 11500), $.notific8(n, {
theme: "ruby",
life: 3e3
})) : console.log(n)
}
},
minimumInputLength: 2,
});
}
当我以这种方式运行代码时,它会创建第二个 <span>
元素,我可以在 Chrome 控制台中看到它,但是如果我尝试在 jQuery 代码中删除它,我找不到它,就像它不存在一样。
我注意到的另一件事是,如果我将 select2
添加到我的选择中,类,它只创建一个选择,但不会触发 Ajax。
最佳答案
您是否使用空的选项
作为html选择的第一个元素?如果是这样,请尝试将其删除。
关于javascript - Select2 添加了一个我无法删除的空范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47350471/