html5 datalist自动完成

1、传统输入框

<label for="favorite_team">Favorite Team:</label>
<input type="text" name="team" id="favorite_team" />

2、使用datalist

给input增加一个list属性,属性值为datalist的id值。

双击input或者输入一个匹配的首字母的时候可以提供选项让用户选择。

<label for="favorite_team">Favorite Team:</label>
<input type="text" name="team" id="favorite_team" list="team_list" />
<datalist id="team_list">
    <option>Detroit Lions</option>
    <option>Detroit Pistons</option>
    <option>Detroit Red Wings</option>
    <option>Detroit Tigers</option>
    <!-- etc... -->
</datalist>

有一点要注意:可以给datalist中的option指定value值,但是指定value值后,用户通过下拉列表选择后,文本框中将显示value值。

3、何时使用?

选择不太多的场景下,使用一般的下拉就可以了。

如果需要用户在很多数据中去选择,则可以建议使用datalist下拉建议提示框,因为可以方便用户快速检索去选择。

一个典型的场景就是对世界各个国家的选择。

4、浏览器不支持怎么处理?

点我查看浏览器支持。

IE10+,Firefox 4+,Chrome 20+和Opera是支持datalist的,对于不支持的浏览器,可以优雅降级。

1)datalist中嵌套使用传统的select下拉选择框

在提供传统的select下拉文本框的同时,提供给用户能输入普通文本的文本框。

<body >
<label for="country">Country:</label>
<datalist id="country_list">
  <select name="country">
    <option value="AF">Afghanistan</option>
    <option value="AX">?land Islands</option>
    <option value="AL">Albania</option>
    <option value="DZ">Algeria</option>
    <option value="AS">American Samoa</option>
    <!-- more -->
  </select>
  If other, please specify:
</datalist>
<input type="text" name="country" id="country" list="country_list">
</body>

上面代码,在datalist中嵌套了传统的select下拉文本框,而input文本框依然绑定了datalist,这样的好处是,当在不支持datalist的浏览器中运行时,一边是下拉选择,另外还可以允许用户输入下拉列表中不存在的记录。

如果在支持datalist的浏览器中运行,则是原来的只显示一个datalist效果。

2)使用jquery ui中的autocompute插件

不多说。

5、使用datalist的限制

  • 不能使用css去随意控制或改变其下拉建议列表中的项
  • 不能控制datalist的位置
  • 不能控制每次当用户输入多少个字符后,就出现下拉建议列表
  • 不能将其与服务器的数据绑定

6、资源链接

http://developer.51cto.com/art/201306/400342_all.htm

https://developer.mozilla.org/en/docs/Web/HTML/Element/datalist

http://caniuse.com/datalist

时间: 2025-01-06 06:31:27

html5 datalist自动完成的相关文章

html5 datalist兼容易用javascript封装实现

各个浏览器对于datalist的支持不一致,而且放入需要像select的value-title的那样的列表查看titile, 代码中使用value,支持并不好,深入了解可以看这个 HTML5 datalist在实际项目中应用的可行性研究 使用js代码对datalist进行包装可以达到想要的效果 chrome下效果 firefox下效果 ie下跟firefox类同 实现代码如下 function fireEvent(element, event){ if (document.createEvent

Html5 &lt;datalist&gt; input自动完成标签

用原生HTML5控件实现输入框自动提示(下拉列表) <datalist> 标签规定了 <input> 元素可能的选项列表. <datalist> 标签被用来在为 <input> 元素提供"自动完成"的特性. 用户能看到一个下拉列表,里边的选项是预先定义好的,将作为用户的输入数据. 请使用 <input> 元素的 list 属性来绑定 <datalist> 元素. 例子: <input list="b

html5 datalist 选中option选项后的触发事件

参考博客:  https://blog.csdn.net/qishuixian/article/details/78427951 最近一段时间用到了html5中datalist, 对选择的option选项获取对应的属性值. <!DOCTYPE HTML> <html> <body> <script src="./jquery-1.7.2.min.js" type="text/javascript" charset="

关于html5 audio自动播放的问题

1.autoplay控制audio的自动播放,但是在ios系统上是忽略此选项的,目前还未找到解决的办法,如果哪位大神找到了,请赐教: 2.关于audio的自定义样式问题controls,是在页面可控制,在页面显示,如果自定义的话,就需要不显示此属性,然后根据自己的样式定义,贴代码:<audio id="myAudio" autoplay loop="loop" val="open"> <source src="路径&q

datalist自动完成

1.传统输入框 <label for="favorite_team">Favorite Team:</label> <input type="text" name="team" id="favorite_team" /> 2.使用datalist 给input增加一个list属性,属性值为datalist的id值. 双击input或者输入一个匹配的首字母的时候可以提供选项让用户选择. <

Html5添加自动排列图片的jquery响应式图片排列插件教程

一.引入JS文件 <script src="path/to/jquery.min.js" > <script src="path/to/jquery.row-grid.min.js" > 二.Html结构 <div class="container"> <div class="item"> <img src="path/to/image" width=&

DataList:HTML5中的input输入框自动提示宝器

DataList的作用是在你往input输入框里输入信息时,根据你敲进去的字母,自动显示一个提示下列列表,很像百度或谷歌的搜索框的自动提示,在飞机票火车票的搜索页面上也有这样的效果.它是HTML5里新增的一个非常有用的元素. DataList的表现很像是一个Select下拉列表,但它只是提示作用,并不限制用户在input输入框里输入什么. HTML5 Datalist的语法其实跟select下拉列表的语法几乎完全一样,非常的简单! <label for="country_name"

《HTML5与CSS3基础教程》学习笔记 ——Four Day

第十六章 1.    输入和元素 电子邮件框 <input type="email"> 搜索框 <input type="search"> 电话框 <input type="tel"> URL 框 <input type="url"> 以下元素得到了部分浏览器的支持 日期 <input type="date"> 数字 <input type=

三天学会HTML5 之第一天

引言 HTML5 一直是非常热门的话题,因此此系列文章主要从一些基本功能开始讲起,逐步深入了解HTML5的新概念. 首先了解一些基本的术语和概念. SGML, HTML,XML三者之间的区别 Doc类型是什么 HTML5 有什么新特点新优势. 学习HTML5 在开始之前首先来区分SGMC,HTML,XML 三者的概念. SGML 即 Standard Globalized Markup Language 是用来定义标准的标记语言,简单的说,就是定义文档的元语言. HTML 是基于SGML 的超链