js、ajax 输入框自动匹配
来源:互联网 发布:剑三捏脸数据17173 编辑:程序博客网 时间:2024/06/03 19:43
js、ajax 输入框自动匹配
想做一个输入框自动匹配的功能,在网上找了好多的都没有找到想要的,可能是因为自己太笨了看不懂...所以就总结网上查找到的方法,自己写了一个,写出来是想分享给大家也是给自己的再加深一下印象。因为自己现在也是新手,代码质量不高,大家有好的建议也可以提出来哦。 这个功能大概的思路是:在输入框下面添加一个div,用来显示匹配到的数据。这个div贴紧输入框,在输入框里没有输入东西时是隐藏起来的,用样式display为none实现这个功能。给输入框添加一个keyup()函数,输入的东西传到后台匹配,再将匹配到的数据传回前台,这时在函数里将显示数据的div的display设置为block就可以将数据展示出来。 下面是功能图片展示和前台页面的代码,因为后台数据是用spring-boot框架结合ajax取的,所以要成功运行代码大家要改一下数据获取方式。
功能展示
前台页面代码
<!DOCTYPE html><head> <meta charset="UTF-8"> <title>下拉列表</title> <style> .tptitle{/*输入框所在的div*/ position:absolute; top:0; left:0; height:30%; width:100%; border-width:1px; border-color:black; border-style: solid; } .tptitle_table{/*输入框所在的table*/ position:absolute; top:10%; left:200px; height:10%; width:70%; } #typhooncode{/*输入框*/ height:15px; width:180px; } #autoresult{/*在输入框下面用来显示匹配数据的div*/ position:absolute; left:306px; top: 20.5%; height:150px; width:182px; border-width:1px; border-color:black; border-style: solid; overflow :auto; display:none;/*把div隐藏起来*/ } #list{/*显示匹配数据的li*/ position:absolute; top:0; left:0; text-align: left; } .result_li{/*显示数据的li*/ list-style-type:none;/*去掉前面的原点符号*/ } </style></head><script src="js/jquery-3.2.1.js"></script> <div class="tptitle" > <table class="tptitle_table" > <tr> <td width="100px">台风代码:</td> <td><input type="text" id="typhooncode" placeholder="请输入台风代码" /></td> <td>台风登录地:</td> <td><input type="text" id="landing_position1" /></td> <td>台风路径测试:</td> <td><input type="text" id="pathcode" placeholder="请输入台风代码"/></td> <td><input type="submit" onclick="test()" value="提交路径代码"/></td> </tr> </table> <div id="autoresult"> <ul id="list"></ul> </div> </div> <script> //键盘--传递数据到后台再返回输出 $(document).ready(function(){ $("input#typhooncode,#landing_position1").keyup(function(){ var typhooncode = document.getElementById("typhooncode").value; var landing_position1 = document.getElementById("landing_position1").value; $.post('api/base/test2', {typhooncode: typhooncode,landing_position1:landing_position1}, function (data) { //console.log(data);测试有没有数据 var json = eval(data); //用eval()函数解析json对象 var tt = ""; $.each(json, function (index) { //循环获取数据 var Month = json[index].typhooncode; //在li元素里添加函数 tt += "<li class='result_li' onmouseover='mouseOver(this)' onmouseout='mouseOut(this)' onclick='mouseClick(this)'>"+ Month + "</li>"; }); document.getElementById("autoresult").style.display="block";//显示隐藏的div $("#list").html(''); $("#list").html(tt);//将匹配数据显示到设置好的ul里 }) }); }); //点击变色 var overColor='rgb(128, 188, 241)';//移入时的颜色 var outColor='rgb(255, 255, 255)';//移出时的颜色 var clickColor='rgb(68, 165, 251)';//点击时的颜色 function mouseOver(obj) { if(obj.style.backgroundColor!=clickColor) obj.style.backgroundColor=overColor; } function mouseOut(obj){ if(obj.style.backgroundColor!=clickColor) obj.style.backgroundColor=outColor; } function mouseClick(obj) { $(obj).siblings().css("background-color",outColor);//将所有的li元素背景设置为outColor obj.style.backgroundColor=clickColor;//将被点击到的li元素背景设置为clickColor var mClick=$(obj).text();//获取被点击(选中)li元素的文本内容 $("#typhooncode").val(mClick);//将输入框的值替换为选中项内显示 $("#autoresult").css("display","none");//隐藏显示匹配数据的div } </script></body></html>
阅读全文
2 0
- js、ajax 输入框自动匹配
- 自动匹配输入框
- 仿百度输入框自动匹配功能的JS代码
- 仿百度输入框自动匹配功能的JS代码
- JS实现输入信息自动匹配功能
- 原生ajax 实现输入框模糊查询,自动匹配数据库数据
- js处理根据输入的身份证号自动匹配出生年月
- 可输入、自动匹配的下拉框
- 可输入、自动匹配的下拉框
- 制作自动提示匹配项输入框
- android 输入框自动匹配-AutoCompleteTextView
- 输入框自动匹配实践(java web)
- 输入框自动匹配控件AutoCompleteTextView
- 下拉框(可输入+自动匹配)
- AspxCombobox自动匹配输入
- 自动输入匹配
- C# 文本输入框自动匹配 自动完成
- java ajax输入框自动提示
- opengl
- Struts2——模型驱动
- QGIS学习之-环境搭建
- cyclic
- memcache和 redis 对比
- js、ajax 输入框自动匹配
- ActionContext和ServletActionContext小结
- 小白如何查看windows系统及硬件的详细信息
- Select、Poll与Epoll 的比较
- jQuery.validate 详解
- WAS6.1版本下使用的struts2的404错误
- HDU 6055 Regular polygon
- VS2013环境安装AE10.1,并注册模板
- 利用intellij idea创建maven 多模块项目