删除 Select2 Jquery 插件中的默认选择

问题描述 投票:0回答:4

我在表单中使用 select2 作为多选选项。在表单中,我使用按键控件遍历表单。因此,如果我按 Tab 键,它应该遍历表单中的字段。当我按 Tab 转到 select2 时文本框,它打开默认选择第一项的选项。当我按 Tab 移动到另一个字段时,它会自动选择。我想避免这种情况。请帮助...

我想避免在 select2 插件中默认选择第一个元素。我在调用 select2 时尝试删除highlight() 函数。它正在工作,但无法选择元素。

    $("#" + elementID).select2({
        data: {results: itemArray, name: 'name'},
        formatSelection: format,
        formatResult: format,
        multiple: true,
        closeOnSelect: false,
        height: height,
        width: width,
        allowClear:true,
        initSelection: function (element, callback) {
            var data = [];
            $(element.val().split(",")).each(function () {
               data.push({id: this.toString(), name: this.toString()});
            });
           return callback(data);
        },
        createSearchChoice: function (term, data) {
            
            if ($(data).filter(function () {
                return this.name.localeCompare(term) === 0;
            }).length === 0) {
               return {id: term, name: term};
            }
    
        }

    }).select2('data', null).one('select2-focus', select2Focus).on("select2-blur", function () {
    $(this).one('select2-focus', select2Focus);
});
jquery multi-select
4个回答
6
投票

您可能需要将

multiple
属性添加到选择本身

<select class="js-data-example-ajax" multiple="multiple">
...
</select>

参考:https://github.com/select2/select2/issues/3878


5
投票

将其作为 HTML 格式的选择中的第一个选项

<option value="" selected disabled>Select item...</option>

1
投票

添加空选项将解决该问题。

$(document).ready(function() {
  	$('select').select2({
		placeholder: {
		    id: '', // the value of the option
		    text: 'None Selected'
		  },
		  allowClear: true
		});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>

<select style="width : 150px">
        <option value=""></option>
        <option value="AL">Alabama</option>
        <option value="NJ">New Jesrsey</option>
</select>


0
投票
<select class="form-control addon-service-dropdown" name="addon_service[]" multiple="multiple">
enter code here

我正在获取同样的问题,所以我应用了上面的方法,然后它现在工作正常

© www.soinside.com 2019 - 2024. All rights reserved.