触发文本框的单击事件上的datalist选项

时间:2014-04-21 02:24:10

标签: jquery html5 html-datalist

如何在单击相应的文本框时显示或触发datalist选项? 我有一个数据列表,选项说10.在chrome中,会显示一个下拉图标,允许用户知道它有一个下拉列表。但是在Firefox中,图标不可用。因此,用户可能不知道它是一个下拉菜单而只是一个文本框。所以我想在点击该文本框时显示datalist选项。任何帮助表示感谢。

2 个答案:

答案 0 :(得分:0)

也许解决方案可能是这个(Fiddle

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
input::-webkit-calendar-picker-indicator {
  display: none;/*remove default arrow in Chrome*/
}
.required:after {
    content: url(http://s25.postimg.org/6k40u5hcr/arrow.png);
    margin-left: -20px; 
    padding: .1em;
    pointer-events:none;/*make png cliccable*/
}
</style>
</head>
<body>
    <span class="required"><input id="team" list="bestTeam"></span>
     <datalist id="bestTeam">
       <option value="Inter">
       <option value="Milan">
       <option value="Juve">
       <option value="Roma">
     </datalist>
   </body>
</html>

首先,我删除了chrome中的默认箭头,输入:: - webkit-calendar-picker-indicator
在元素之后我在内容属性中设置了一个小图像 使图像可点击使用指针 - 事件:无
此解决方案适用于最新版本的Chrome,Firefox和IE 如果这个解决方案不符合您的需求,我会为您浪费时间而道歉。

答案 1 :(得分:0)

这是一个无法修改的浏览器内置功能。此外,Safari和IE10的较低版本都不支持datalist

要完成此功能,请使用此polyfill:webshim。 这将为Safari和IE提供功能支持,并将datalist转换为常规ul列表,然后您可以轻松附加事件以显示/隐藏列表,而不会丢失自动完成功能。