是否可以在给定的字符串长度上给出html5 datalist触发器?

Mon*_*ter 5 html5 html-datalist

是否可以在给定的字符串长度上给出html5 datalist触发器?

<input list="tagLookup" id="tag" name="tag" type="text" placeholder="+ add custom tag" autocomplete=off triggerOn="3">
<datalist id="tagLookup">
  <option value="aaaa">
  <option value="bbbb">
  <option value="cccc">
</datalist>  
Run Code Online (Sandbox Code Playgroud)

想显示用户输入的3个字符的建议.

Ste*_*ler 1

不,没有任何属性允许您仅使用 HTML 来执行此操作。使用 javascript,您可以强制执行此行为。最好的方法似乎是只要您不需要数据列表list=就从 中删除该属性。input

这是一个 jQuery 示例,可以满足您的需要:

我添加了一个data-list带有该属性副本的属性list,以便在键入 2 个以上字符后更容易恢复它。

$('input[list]').on('input', function(e) {
  var input = $(e.target),
      datalist = input.attr('data-list');

  if(input.val().length < 3) {
      input.attr('list', '');
  } else {
      input.attr('list', datalist);
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input list="myList" data-list="myList">

<datalist id="myList">
  <option value="option 1">
  <option value="option 2">
</datalist>
Run Code Online (Sandbox Code Playgroud)