我正在使用 select2 并且一切正常。 现在我想创建一个带有标签选项的 select2 输入字段:
$(document).ready(function() {
$('.dropdown').val(null).trigger("change");
$('.dropdown').select2({
language: "de",
width: "100%",
placeholder: '',
allowClear: true,
tags: true
});
});
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<select class="dropdown" name="state">
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
</select>
我的问题: 如果您将键入“Te”(“测试”),它将自动选择选项“Alabama”。 这不应该。这是一个错误还是我该如何解决?
这是因为您提供的
tags: true
选项中的select2
。 tags
用于创建新选项(如果它们以前不可用),您可以选择它们并将它们添加到列表中。如果你不选择新输入的选项,它默认选择第一个。
因此,如果您希望用户仅从可用选项中进行选择,请删除
tags
选项。
$(document).ready(function() {
$('.dropdown').val(null).trigger("change");
$('.dropdown').select2({
language: "de",
width: "100%",
placeholder: '',
allowClear: true
});
});
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
<select class="dropdown" name="state">
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
</select>