如何从select2()下拉列表Jquery中禁用所选属性?

时间:2014-01-17 13:18:51

标签: attributes jquery-select2 selected

我知道如何从下拉菜单启用所选属性;我可以使用这段代码:

$('select').select2();

但我的问题是如何禁用它?谢谢 Click Here

12 个答案:

答案 0 :(得分:52)

正确的方法是:

$('select').select2("enable",false)

这很好用。

答案 1 :(得分:31)

试试这个:

$('select option:selected').attr('disabled','disabled');

编辑:

**对于那些使用Select 2版本 4 + 的人,新的方法应该是:

$("select").prop("disabled", true); // instead of $("select").enable(false);

在澄清问题之后,这是正确的方法:

$('select').select2().enable(false);

答案 2 :(得分:15)

以下编码也工作正常

启用选择框:

$('#foo').select2('enable');

禁用选择框:

$('#foo').select2('disable');

jsfiddle:http://jsfiddle.net/DcunN/

答案 3 :(得分:6)

要禁用完整的select2框,即不删除已选择的值且无新插入,请使用:

$("id-select2").attr("disabled", true);

其中id-select2是select2的唯一ID。你也可以使用任何特定的类来定义下拉列表。

答案 4 :(得分:5)

从Select2 4.1开始,他们已经删除了对.enable

的支持
$("select").prop("disabled", true); // instead of $("select").enable(false);

来自:https://select2.org/upgrading/migrating-from-35

答案 5 :(得分:4)

selec2 site中,您可以看到选项。 api有“禁用”选项。您可以使用:

$('#foo').select2({
    disabled: true
});

答案 6 :(得分:3)

由于问题似乎不清楚,如果这个答案与原意不直接相关,我很抱歉。

对于那些使用Select2版本4+并且根据官方插件文档的人来说,.select2("enable")不再是禁用选择框的方式(不是单一选项)。它甚至将从4.1版开始完全删除。

直接来自文档(参见https://select2.org/upgrading/migrating-from-35#select2-enable):

  

Select2将尊重底层select元素的disabled属性。要启用或禁用Select2,您应该在元素上调用.prop('disabled', true/false)。在Select2 4.1中将完全删除对旧方法的支持。

所以在上一个答案的例子中,它应该是: $('select').prop(disabled,true);

答案 7 :(得分:3)

根据select2文档:Click Here

如果要禁用select2,请使用此方法:

$(".js-example-disabled").prop("disabled", true);

如果要启用禁用的select2框,请使用以下方法:

$(".js-example-disabled").prop("disabled", false);

答案 8 :(得分:2)

我用

禁用select2
$('select').select2("enable",false);

并使用

启用它们
$('select').select2("enable");

答案 9 :(得分:1)

$('select').select2('enable',false);

这适合我。

答案 10 :(得分:0)

我禁用了价值:

<option disabled="disabled">value</option>

答案 11 :(得分:0)

如果您要禁用下拉菜单的值

$('select option:not(selected)')。prop('disabled',true);

$('select')。prop('disabled',true);