本文实例讲述了js文本框输入内容智能提示效果代码。分享给大家供大家参考。具体如下:
运行效果截图如下:
大体思路:
1.监听文本框事件。这里是用的keyup事件。大家可以尝试用onchange事件。不过感觉keyup事件的效果要好一点。
2.根据输入内容通过ajax异步的方式去访问后台数据。
3.遍历返回数据将数据添加到显示区域。
4.在添加数据的同时给每一条数据加上一些效果,点击其中一条将数据填到文本框,并且提示内容消失。
5.后台数据应该拼接成json格式。
具体代码如下:
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head runat=\"server\"> <title>自动提示</title> <script src=\"Scripts/jquery-1.4.1.js\" type=\"text/javascript\"></script> <script type=\"text/ecmascript\"> function txtchange() { var nnmae = $(\"#intxt\").val(); $.ajax({ type: \"post\", url: \"ashx/AutoNote.ashx\", data: { name: nnmae }, dataType: \"json\", success: function (data) { $(\"#tbcontent\").html(\"\"); //删除原有数据 if (data != \"null\") { for (var i = 0; i < $(data).length; i++) { $(\"#tbcontent\").append(\'<div class=\"item\" onclick=\"mousedown(this)\">\' + data[i].name + \'</div>\'); } $(\"#tbcontent\").slideDown(); } } }); } //选择其中的提示内容 function mousedown(object) { $(\"#intxt\").val($(object).text()); $(\"#tbcontent\").fadeOut(); } //文档框失去焦点,隐藏提示内容 function lost() { $(\"#tbcontent\").fadeOut(); } </script> <style type=\"text/css\"> .item:hover { background-color: Gray; cursor:pointer; } .show { width: 200px; z-index: 10; display: block; } .hidden { width: 200px; z-index: 10; display: none; border:1px solid rgb(80,160,91); border-top:none; } table tr td { margin:none; padding:none; border:none; } </style> </head> <body> <form id=\"form1\" runat=\"server\"> <div style=\"width: 210px; margin-left:auto; margin-right:auto\"> <table> <tr> <td> <input type=\"text\" style=\"width: 200px;\" id=\"intxt\" onkeyup=\"txtchange()\" onblur=\"lost()\"/> </td> </tr> <tr> <td> <div id=\"tbcontent\" class=\"hidden\"> </div> </td> </tr> </table> </div> </form> </body> </html>
js文本框输入内容智能提示效果,对于我们输入信息进行搜索很有实用价值,希望这篇文章对大家学习javascript 程序设计有所帮助。
本文地址:https://www.stayed.cn/item/24073
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我