【问题标题】:select2 disable / enabled not workingselect2禁用/启用不起作用
【发布时间】:2017-11-17 13:42:47
【问题描述】:

我有一个带有 select2 插件的选择元素。版本是 4.0。它运作良好,但我无法动态更改禁用选项。

$('#list1').select2({
    theme: "bootstrap",
    disabled: true,
    placeholder: "Parsel",
    minimumInputLength: 0,
    allowClear: true,
    closeOnSelect: true,
});

如你所见,disabled 是真的。我无法动态更改禁用选项。如果我删除禁用的选项,它会很好地工作。

我正在使用此代码尝试更改选项;

$("#list1").select2({ disabled : false });

$("#list1").select2('enable');

如何更改选择元素的禁用选项?

谢谢大家。

【问题讨论】:

    标签: jquery jquery-select2


    【解决方案1】:

    Basic jQuery 似乎很好地解决了这个问题:

    启用:

    $("#list1").removeAttr('disabled');
    

    禁用:

    $("#list1").attr('disabled', true);
    

    【讨论】:

    • 实际上,这并不能解决我的问题。但是在我更改了我的 html 代码之后,它运行良好。谢谢。
    • @AtakanSavaş,如果您提出答案,我们都会受益。
    【解决方案2】:

    在 jQuery 中最好使用prop 而不是attr。 使用true or false 设置disabled status

    例如:

    Enable dropdown - $("#list1").prop('disabled', false);
    Disable dropdown - $("#list1").prop('disabled', true);
    

    【讨论】:

    【解决方案3】:

    根据需要试试这个

    $('#list1').select2("enable",true)
    

    【讨论】:

    • 给出一个错误。说:.select2(...).enable 不是函数
    • 好的,我也试过了。这次它没有给出任何错误,但没有任何改变。我认为有不同的问题,但我还找不到。
    • 我认为您应该直接在 html <select disabled></select> 中禁用下拉菜单,而不是通过 javascript
    • 我无法更改任何其他选项。但我找不到原因。
    猜你喜欢
    • 1970-01-01
    • 2017-06-12
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 2013-07-12
    • 2013-02-04
    相关资源
    最近更新 更多