javascript - 禁用所选选项后 select2 未更新

标签 javascript jquery jquery-select2

我试图禁用 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");
});

参见示例:https://jsfiddle.net/bkqeqbay/1/

最佳答案

您可以像这样使用选择事件和数据:

...}).on("select2:select", function(e) {
  console.dir(e.params.data);
  e.params.data.disabled = true;
});

更新的 fiddle :https://jsfiddle.net/bkqeqbay/4/

请注意,如果您还必须禁用底层选择元素选项,您可以执行以下操作:

 var index = $(e.params.data.element).index();
 $("#select-filter").find('option').eq(index).prop('disabled',true);

关于javascript - 禁用所选选项后 select2 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37391368/

相关文章:

javascript - 如何通过jquery设置select2的单选下拉默认值

javascript - 对后端的调用在服务内部可以正常工作,但在服务外部则不行

javascript - 如何在静态网站上制作 "adult content warning"?

javascript - .live 不是 rails 3.2.11 中的函数错误

javascript - JQuery - 为什么 Trigger 方法调用它三次?

jquery - select2 jquery 不允许添加新标签

javascript - 函数遍历循环并工作一次但再也不会

javascript - Simplebar 滚动条插件 - 在功能中滚动到顶部/重置位置

javascript - 防止元素焦点丢失(需要跨浏览器解决方案)

javascript - 根据其他输入字段从 json 选择2