在JS中如何实现邮箱提示补全功能

在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> 元素。

在输入邮箱时可以智能提示 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery输入框邮箱下拉提示层 - </title> <style type="text/css"> *{ margin:0; padding:0;} body { font:12px/1.8 Arial; color:#666;} ul,li{ list-style:none;} h1.tit-h1 { font-size:38px; text-align:center; margin:30px 0 15px; color:#f60;} .go-back{ text-align:center; border-top:1px dashed #ccc; padding:10px; margin-top:20px; font-size:40px;} .wrap{border:1px dashed #ccc; background:#f8f8f8; padding:20px;} .login{width:400px; margin:0 auto; background:#EBEBEB; position:relative;} input{ width:230px; height:28px; margin:10px 0; line-height:28px;} .login .on_changes{width:232px; position:absolute; top:40px; list-style:none; background:#FFF; border:1px solid #000; display:none; padding:10px;} .login .on_changes li{margin:8px;padding:4px;} .login .on_changes li.active{ background:#CEE7FF;} </style> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <script type="text/javascript" src="inputmail.js"></script> </head> <body> <h1 class="tit-h1">jquery输入框邮箱下拉提示层</h1> <div class="wrap"> <script type="text/javascript"> $(function(){ $("#loginName").changeTips({ divTip:".on_changes" }); }) </script> <div class="login"> <div class="ln">                          <input type="text" maxlength="128" name="loginName" id="loginName" placeholder="邮箱/会员帐号/手机号" /></div> <ul class="on_changes" style="position: absolute; left: 78px; top: 42px"> <li email="">请选择邮箱类型</li> <li email=""></li> <li email="@sina.com"></li> <li email="@163.com"></li> <li email="@qq.com"></li> <li email="@hotmail.com"></li> <li email="@126.com"></li> <li email="@gmail.com"></li> <li email="@yahoo.com"></li> </ul> </div> </div> </div> </body> </html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值