select2搜索按空格选择项目

时间:2018-11-06 12:07:25

标签: javascript jquery-select2

我有以下select2:

现在,当我按下空格键时,它会自动选择我写的东西(这意味着我无法搜索带有空格的项目)

这是我的JavaScript:

let term;
$('.js-data-example-ajax').select2({
  tags: true,
  multiple: false,
  tokenSeparators: [',', ' '],
  minimumInputLength: 2,
  minimumResultsForSearch: 10,
  ajax: {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': 'Basic ' + btoa(environment.CVRTOKEN + ':' + '')
    },
    data: function(params) {
      term = params.term;
      this.queryParam = params.term;
      return params;
    }.bind(this),
    url: function() {
      return 'https://rest.cvrapi.dk/v1/dk/suggestions/company/' + $('.select2-search__field').val();
    },
    dataType: 'json',
    type: 'GET',
    processResults: function(data) {
      return {
        results: $.map(data, function(item) {
          return {
            text: item.life.name,
            id: item.vat
          };
        })
      };
    }
  }
});

还有我的简单HTML:

<div class="form-group">
  <label>Firma</label>
  <select class="js-data-example-ajax form-control" style="height: 38px"></select>
</div>

有人可以告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

自从您使用过:

tokenSeparators: [',', ' '],

第二个分隔符是空格字符。因此,当您按下 Space 时,会将其视为令牌。您必须更改代码以告诉您不要按空格分隔标记。

tokenSeparators: [','],