未找到结果时清除 Select2 搜索输入

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

我正在使用 jQuery Select2 版本 4.0.13。 我想在显示“未找到结果”时自动清除搜索文本框。 类似于下拉选项的重置。 目前,我使用与下拉选项值匹配的扫描条形码。 如果我扫描的条形码不在列表中,则扫描的条形码文本将保留在搜索显示中。然后,如果我扫描可接受的条形码,它只会附加到搜索文本框中内容的末尾。如果我手动清除搜索文本框,它将按预期工作。我有以下代码,但在警报所在的位置,我需要使用语法来清除搜索文本,从而重置为下拉选项。

$('.packageDropDown').select2({
                    dropdownCssClass: 'ui-widget ui-jqdialog zclass',
                    width: 350,
                     "language": {
                        "noResults": function(searchedTerm){
                            alert("No Match");
                            
                        }
                    }
                });
jquery jquery-select2-4
1个回答
0
投票

将值设置为

null
并触发更改事件。它将重置您的选择。

$('.packageDropDown').select2({
  dropdownCssClass: 'ui-widget ui-jqdialog zclass',
  width: 350,
  "language": {
    "noResults": function(searchedTerm) {
      $('.packageDropDown').val(null).trigger('change');
      
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<select class="packageDropDown" name="state">
  <option value="AL">Alabama</option>
  <option value="WY">Wyoming</option>
</select>

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