是否可以在给定的字符串长度上给出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>
想要显示用户输入的3个字符的建议。
答案 0 :(得分: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);
}
});
<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>