加载数据后从Select2获取项目

Max*_*mus 5 javascript jquery jquery-select2

我正在尝试强制打开方法并选择select2这样的项目.

    $(".select").select2('open')
    $(".select").on('select2-loaded', function (e) {
        items = e.items.results;
        if (items.length == 1) {
            $(this).val(items[0].text);
        }
    });
    $(".select").select2('close');
Run Code Online (Sandbox Code Playgroud)

但我无法进入select2加载的评估,并且关闭也发生在快速.如果列表中只有一个元素,我想默认选择第一个元素.

当"打开"发生时,它会自动执行机制来获取和加载列表中的所有元素.如果我评论close方法,则需要几毫秒来显示列表中的元素.

但我想要的是刷新我的列表(这是通过打开完成)然后我想只选择是否有一个元素和关闭我的列表('选择')

我怎样才能做到这一点?此行为将由另一个列表的onchange事件触发.(嵌套选择)

uri*_*i2x 7

您应该closeselect2-loaded事件中移动INSIDE ,因此它只会在选择项目后关闭select元素.否则你打开,为将来的事件设置事件,然后立即关闭.

$(".select").select2('open')
$(".select").on('select2-loaded', function (e) {
    items = e.items.results;
    if (items.length == 1) {
        $(this).val(items[0].text);
        $(".select").select2('close');
    }
});
Run Code Online (Sandbox Code Playgroud)