仅当一个唯一结果时才显示下拉列表-selectize.js

时间:2019-12-11 07:26:55

标签: javascript selectize.js

您好:)仅当一个词组是唯一的查询结果时,我才想获得下拉结果。因此,如果我输入“ 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:

https://codepen.io/chaczyk/pen/NWPNqPP?editors=1010#0

0 个答案:

没有答案