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

时间:2014-09-22 07:07:30

标签: jquery jquery-select2 tagging

我使用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
});
提前非常感谢,蒂姆。

1 个答案:

答案 0 :(得分:8)

您在代码中设置了空值。您应该将tags: ['']更改为tags:[]

有了这个,您仍然会在输入下面找到一行,并显示消息No matches found

如果你想删除这一行,你可以&#34;隐藏&#34;它。根据{{​​3}},您可以执行以下操作:

<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>