您好:)仅当一个词组是唯一的查询结果时,我才想获得下拉结果。因此,如果我输入“ Z”,则不会有任何结果,因为有4个结果匹配。 另外,我希望它从短语的开头开始搜索-这已经完成了。我试图创建一个数组,我想向其中添加结果并对其进行过滤,但是我做不到。 如果下拉列表中有多个子节点,则可以使用纯js来隐藏下拉列表,但这并不理想,并且对id select的任何更改都将导致其停止工作。
<form class="container">
<div class="row">
<div class="col-12">
<label for="select">Single selection</label>
<select id="select" class="form-label">
<option value="0">Zero</option>
<option value="1">Zero 1</option>
<option value="2">Z1ero</option>
<option value="3">1 Zero</option>
</select>
</div>
</div>
</form>
$(function() {
$("#select").selectize({
allowEmptyOption: true,
placeholder: "— Choose —",
maxOptions: 1,
openOnFocus: false,
maxItems: 1,
score: function (search) {
this.getScoreFunction(search);
return function(item) {
console.log("item", item);
return item.text.toLowerCase().startsWith(search.toLowerCase()) ? 1 : 0;
};
}
});
});
Codepen: