jQuery/Select2:如何删除标记/令牌的空白默认下拉列表



我使用jQuery Select2插件为输入字段添加标记支持
(来源:http://ivaynberg.github.io/select2/)。

一切都按预期进行,我唯一的问题是,当输入标记时,它总是在输入下方显示一行默认下拉列表。

我认为这是由一个允许您预设不同标签的功能引起的,然后可以从下拉列表中选择这些标签。如果你使用它,这很好,但如果你不需要它,那么它看起来很困惑。

我试着从实例化中删除tags:[''],行,但插件已经不起作用了。我该怎么摆脱这个?

我的HTML输入:

<input type="text" class="form-control sel2Tags" id="tags" name="tags" />

我的jQuery初始化:

$('.sel2Tags').select2({
    tags:[''],
    tokenSeparators: [','],
    multiple: true
});

您在标记中设置了一个空值。您应该将tags: ['']更改为tags:[]

这样,您仍然可以在输入下方获得一行消息No matches found

如果你想删除这行,你可以"隐藏"它。根据GitHub上的这个问题,你可以做以下事情:

<input type="text" class="form-control sel2Tags" id="tags" name="tags" 
    style="width:300px"  />
<style>
    .select2-hidden {
        display:none !important;
    }
</style>
<script>
    $('.sel2Tags').select2({
        tags:[],
        tokenSeparators: [','],
        multiple: true,
        formatNoMatches: function() {
            return '';
        },
        dropdownCssClass: 'select2-hidden'
    });
</script>

相关内容

最新更新