我尝试在select2中禁用所选选项,但似乎select2没有刷新。
我的目的是在选择后禁用select2列表中的每个项目。我看到该选项获得了禁用属性的HTML,但仍然在select2元素中启用了该选项。
$("#select-filter").select2({
placeholder: "Select a category",
data:[{
id: "",
text: ""
},{
id: "project",
text: "project"
},{
id: "date",
text: "date"
},{
id: "user",
text: "user"
}]
}).on("change", function(e) {
$("#select-filter :selected").attr("disabled", "true");
});
答案 0 :(得分:1)
您可以使用select事件和数据,如下所示:
...}).on("select2:select", function(e) {
console.dir(e.params.data);
e.params.data.disabled = true;
});
更新了小提琴:https://jsfiddle.net/bkqeqbay/4/
请注意,如果您还必须禁用基础选择元素选项,则可以执行以下操作:
var index = $(e.params.data.element).index();
$("#select-filter").find('option').eq(index).prop('disabled',true);