在JS中如何实现邮箱提示补全功能
如下所示:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title></title>
</head>
<body>
<input type="text" list="input_list" name="text" placeholder="请输入邮箱"/>
<datalist id="input_list"></datalist>
</body>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
function inputList(input,list){
var mailBox = [
"@qq.com",
"@sina.com",
"@163.com",
"@126.com",
"@yahoo.com.cn",
"@gmail.com",
"@sohu.com"
];
input.bind('input propertychange', function() {
var key = input.val();
if(key.indexOf("@") != -1){
key = key.slice(0,key.indexOf("@"));
}
var mailBoxLen = mailBox.length;
var html = "";
for(var i=0; i<mailBoxLen; i++){
html += '<option value="'+ key + mailBox[i] +'"></option>';
}
list.html(html);
});
}
inputList($("input"),$("#input_list"));
</script>
</html>
说明:<datalist>
标签是 HTML5 中的新标签。
<datalist>
标签规定了 <input>
元素可能的选项列表。
<datalist>
标签被用来在为 <input>
元素提供"自动完成"的特性。用户能看到一个下拉列表,里边的选项是预先定义好的,将作为用户的输入数据。
请使用 <input>
元素的 list 属性来绑定 <datalist>
元素。