模仿datalist标签,仿百度写法
来源:互联网 发布:mysql 字符函数 编辑:程序博客网 时间:2024/06/05 03:39
使用datalist时,ie9不支持。而且datalist如果数据从后台获取时,需要从新在点击一下文本框才能显示筛选内容。所以就自己实现了。
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title> <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> <style> * { padding: 0; margin: 0; border: none; } .wrap { position: relative; width: 368px; } .wrap input { width: 300px; height: 20px; border: 1px solid #778899; box-sizing: border-box; } #cities {position: absolute;top: 24px;right: 0;width: 300px;max-height: 400px;overflow: auto;list-style: none;border: 1px solid #778899;border-top: none; display: none;/*display: none;*/ } #cities li:hover{background-color: #87CEFA; } </style></head><body><div class="wrap">选择城市:<input type="text" name="cname" list="cities" id="workUnit" autofocus="true"/><ul id="cities"></ul></div></body></html><script type="text/javascript">//需要添加的数据内容,可以通过ajax请求获取var cities = [{label:"xian",value:"西安"},{label:"hubei",value:"湖北"},{label:"wuhai",value:"武汉"}]; //获取datalist的domvar ss = document.getElementById("cities");//定义加载城市的函数function loadcities(){var innerHtmlStr="";for(var i = 0;i < cities.length; i ++){var city = cities[i];innerHtmlStr+='<li onclick="setValToInput(this)">'+city.value+'</li>';}//jquery实现的方式$("#cities").html(innerHtmlStr);$("#cities").css("display","block")}//对比输入框关键词的变化keywordLength=0;$('#workUnit').keyup(function(e){selectLength = 0;var keyword = $('#workUnit').val().trim();if (keyword == ""){return false;}switch(e.keyCode){case 37:case 38:case 39:case 40:case 13:case 9:return false;}//判断输入了新字符,避免输入汉字时重复提交if(keyword.length==keywordLength){return false;}else{keywordLength=keyword.length;}//模仿从后台ajax请求数据loadcities();});//获取点击的li,并赋值到input中function setValToInput(e){var obj=$(e);if(obj.length>0){var liObj=obj[0].innerHTML;console.log(liObj);$("#workUnit").val(liObj);$("#cities").css("display","none")}}</script>
阅读全文
0 0
- 模仿datalist标签,仿百度写法
- ASP.NET2.0中datalist仿百度分页
- 【jquery仿dataList】应用之——模仿igoogle【定制化、拖动排序,最大化、分屏】
- datalist标签
- 模仿百度分页小技术(自定义标签实现)
- ASP.NET2.0中datalist仿百度分页 『转』
- JS+CSS仿百度风云榜TAB标签切换效果
- html5 datalist 标签
- html5新标签dataList
- HTML5 <datalist>标签
- 仿百度
- DataList分页(仿GOOGLE)
- 百度图片(模仿)
- 模仿百度钱包
- 模仿百度搜索界面
- 模仿百度搜索
- 模仿百度首页
- js 模仿jquery的写法
- 测试
- Linux下用户组、文件权限详解
- 总结多线程之显示锁和内置锁
- Yii中的rbac
- The parent project must have a packaging type of POM
- 模仿datalist标签,仿百度写法
- Fragment实现底部菜单栏
- Intellij IDEA mybatis-generator自动生成(转)
- JAVA反射机制中getClass( )和class()的联系和区别
- uboot向kernel的传参机制——bootm与tags
- 运动框架(js)—上下滑动的侧边栏
- 如何阅读Java源码 阅读java的真实体会
- 数据清洗工具OpenRefine
- hibernate 多对多注解及删除问题