方法

Select2 有几个内置方法,允许通过编程方式控制组件。

打开下拉菜单

可以通过将方法名称传递给.select2(...).

open方法会使下拉菜单打开,显示可选项:

$('#mySelect2').select2('open');

关闭下拉菜单

close方法会使下拉菜单关闭,隐藏可选项:

$('#mySelect2').select2('close');

检查插件是否已初始化

要测试某个特定 DOM 元素上是否已初始化 Select2,可以检查该元素是否包含select2-hidden-accessible类名:

if ($('#mySelect2').hasClass("select2-hidden-accessible")) {
    // Select2 has been initialized
}

参见这个 Stack Overflow 答案)。

销毁 Select2 控件

destroy方法会从目标元素中移除 Select2 小部件。它将恢复为标准的select控件:

$('#mySelect2').select2('destroy');

解除事件绑定

当你销毁一个 Select2 控件时,Select2 只会解除由插件自动绑定的事件。你在自己的代码中绑定的任何事件,包括任何你显式绑定的Select2 事件,都需要使用必须手动使用.offjQuery 方法来解除绑定:

// Set up a Select2 control
$('#example').select2();

// Bind an event
$('#example').on('select2:select', function (e) { 
    console.log('select event');
});

// Destroy Select2
$('#example').select2('destroy');

// Unbind the event
$('#example').off('select2:select');

示例