Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在给定的字符串长度上设置html5数据列表触发器?_Html_Html Datalist - Fatal编程技术网

是否可以在给定的字符串长度上设置html5数据列表触发器?

是否可以在给定的字符串长度上设置html5数据列表触发器?,html,html-datalist,Html,Html Datalist,是否可以在给定的字符串长度上设置html5数据列表触发器 <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"> &l

是否可以在给定的字符串长度上设置html5数据列表触发器

<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个字符的建议。

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

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

我添加了一个
数据列表
属性和一个
列表
属性的副本,这样在键入超过2个字符后就更容易恢复它

$('input[list]')。在('input',函数(e)上{
变量输入=$(即目标),
datalist=input.attr('data-list');
if(input.val().length<3){
input.attr('list','');
}否则{
input.attr('list',datalist);
}
});


在我的智能手机上的chrome上,它直接被触发。你真的不需要
数据列表
。这是非常多余的。只需在
list
属性中添加/删除一个已知字符即可显示/隐藏数据列表Firefox在按下
backspace
键(出于某种原因)之前不会显示
datalist
,但问题是选择后数据列表没有关闭