【问题标题】:jQuery / Select2: How to remove blank default dropdown for tags / tokensjQuery / Select2:如何删除标签/标记的空白默认下拉列表
【发布时间】:2014-09-22 07:07:30
【问题描述】:

我使用 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
});

【问题讨论】:

    标签: jquery jquery-select2 tagging


    【解决方案1】:

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

    这样,您仍然会在输入下方看到一行消息No matches found

    如果您想删除此行,您可以“隐藏”它。根据this issue on 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>
    

    【讨论】:

    • 这太棒了,而且效果很好——也非常感谢您的精彩解释! :)
    猜你喜欢
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2013-05-12
    相关资源
    最近更新 更多