我正在使用 jQuery Select2 版本 4.0.13。 我想在显示“未找到结果”时自动清除搜索文本框。 类似于下拉选项的重置。 目前,我使用与下拉选项值匹配的扫描条形码。 如果我扫描的条形码不在列表中,则扫描的条形码文本将保留在搜索显示中。然后,如果我扫描可接受的条形码,它只会附加到搜索文本框中内容的末尾。如果我手动清除搜索文本框,它将按预期工作。我有以下代码,但在警报所在的位置,我需要使用语法来清除搜索文本,从而重置为下拉选项。
$('.packageDropDown').select2({
dropdownCssClass: 'ui-widget ui-jqdialog zclass',
width: 350,
"language": {
"noResults": function(searchedTerm){
alert("No Match");
}
}
});
将值设置为
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>