我有一个以这种方式定义的多重选择:
<select class="form-control" name="citiesNotValid">
如果我将它初始化为select2,它会复制select元素,一个工作并填充我的预选选项,另一个空,不工作。 这是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代码中删除它,我找不到它,喜欢它不存在。
我注意到的另一件事是,如果我添加到我的select select2
类,它只创建一个select,但不会触发Ajax。
答案 0 :(得分:0)
你是否使用空option
作为你html选择的第一个元素?如果是这样,请尝试将其删除。
答案 1 :(得分:0)
之所以这样,是因为您没有将select2样式表链接到您的页面。