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

时间: 2024-11-05 20:27:37

datalist自动完成的相关文章

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或者输入一个匹配的首字母的时候可以提供选项让用户选择. <

Js基础操作

var a="zhangsan"; document.write(a+":I love JavaScrip"); a="lisi"; document.write("<br/>"); document.write(a+":I love JavaScrip"); alert('haha'); 函数的编写 function test(){ var mymessage=confirm("你喜

2015-0306&mdash;DataLList

DataList具有repeater的所有功能,不同的是DataList自动将模板绘制成为一个表格,每一行数据都绘制成<tr>. 一.SQL的准备工作: 按照以下代码创建: create database Mycontacts go use Mycontacts go create table groups ( id int identity(1,1) primary key, name varchar(20) not null ) go create table contacts ( id

HTML5新增标签属性

----- 新类型表单 - email 自动校验输入的是不否是email 邮箱:<input type="email" name="user_email" /> - url 自动将提交数据变为Url 我的主页:<input type="url" name="user_url" /> - number 输入数字 金额:<input type="number" name="

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

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

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

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

DataList分页-增加自动编号列

1 <asp:DataList ID="dl_XUDAXIA" runat="server"> 2 <HeaderTemplate> 3 <table cellpadding="0" cellspacing="0"><tr><td align="center">Entry</td></tr></table> 4

input输入框自动填充黄色背景解决方案

chrome表单自动填充后,input文本框的背景会变成偏黄色的,这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性,然后对其赋予以下样式: input:-webkit-autofill { background-color: #FAFFBD; background-image: none; color: #000; } 之前有一种解决方案是禁用autocomplete属性 <input type="text" name=

JS-005-JavaScript 操作常见 web 元素之五-常见下拉列表 Select 和 datalist

下拉列表在我们日常的网页浏览的过程中,随处可见,是 web 编程过程中大家非常熟悉的一个页面元素,随着 HTML 语言的日益强大,其在广大攻城狮的手中可谓是千变万化,有了很多不同的实现方式.本文主要以常规的 Select 下拉列表来讲述 js 对下拉列表的常规操作,其中 datalist 算是此文稍许的延伸,也可看做一种简单的下拉列表,遗憾的是 IE 9 和更早版本的 IE 浏览器 以及 Safari 不支持 datalist 标签,其主要应用于输入或搜索文字的自动完成功能等,感兴趣的亲们可以详