JS——下拉搜索列表(模糊搜索匹配)
来源:互联网 发布:怎么运营淘宝店铺 编辑:程序博客网 时间:2024/06/11 07:16
<script type="text/javascript"> var datas = [{name:"总部管理支持部门",code:"0000-0001"},{name:"董事会秘书局",code:"0000-0001-0002"},{name:"总裁办公室",code:"0000-0001-0003"},{name:"规划发展部",code:"0000-0001-0004"},{name:"人力资源部",code:"0000-0001-0005"},{name:"财务部",code:"0000-0001-0006"}];//定义数据/*** 搜索下拉列表**/$('#testInput').bind('input propertychange',function() {var items = inputChange();//搜索数据并获取搜索结果if(items != undefined){_initItems(items);} });//1:搜索数据var inputChange = function() { var inputValue = $('#testInput').val();if(inputValue != "" && inputValue.indexOf("000") == -1){var matcher = new RegExp(inputValue, "i");return $.grep(datas,function(value) {return matcher.test(value.name);});}else if(inputValue != "" && inputValue.indexOf("000") != -1){var matcher = new RegExp(inputValue, "i");return $.grep(datas,function(value) {return matcher.test(value.code);});} }; var maxFontNumber = 0;//最大字数var suggestContainer = $('<div></div>'); //创建一个子<div>suggestContainer.attr('id', "testInput-suggest"); suggestContainer.attr('tabindex', '0'); suggestContainer.hide();//2:初始化搜索到的数据进行显示var _initItems = function(items) {$('#ruleOrgCode').val(""); suggestContainer.empty(); for (var i = 0; i < items.length; i++) { if(items[i].name.length > maxFontNumber){ maxFontNumber = items[i].name.length; }var suggestItem = $('<div></div>'); //创建一个子<div> suggestItem.attr('code', items[i].code); suggestItem.append(items[i].name); suggestItem.css({ 'padding':'3px',//item间距 'white-space':'nowrap', 'cursor': 'pointer', 'background-color': 'RGB(199,237,204)',//默认背景颜色 'color': '#000000'//默认字体颜色 }); suggestItem.bind("mouseover", function() { $(this).css({ 'background-color': '#C9302C',//选中背景颜色 'color': '#ffffff'//选中字体颜色 }); }); suggestItem.bind("mouseout", function() { $(this).css({ 'background-color': 'RGB(199,237,204)',//默认背景颜色 'color': '#000000'//默认字体颜色 }); }); suggestItem.bind("click", showClickTextFunction);//选中后处理数据 //suggestItem.bind("click", itemSelectFunction); suggestItem.appendTo(suggestContainer); suggestContainer.appendTo(document.body); } suggestContainer.removeAttr("style");suggestContainer.css({ 'border': '1px solid #ccc', 'max-height': '200px', 'top': $('#testInput').offset().top + $('#testInput').outerHeight(), 'left': $('#testInput').offset().left, 'width': 12*maxFontNumber + 2 * 3 + 30, 'position': 'absolute', 'font-size': '12px' ,//默认字体大小 'font-family':'Arial', 'z-index': 99999, 'background-color': '#FFFFFF', 'overflow-y': 'auto', 'overflow-x': 'hidden', 'white-space':'nowrap' }); maxFontNumber = 0;suggestContainer.show(); };//3.选中后处理数据var showClickTextFunction = function() {//alert(this.innerText + "---" + this.getAttribute("code")); $('#testInput').val(this.innerText); $('#ruleOrgCode').val(this.getAttribute("code")); suggestContainer.hide(); }; </script>
<body> <div><input type="text" id="testInput" /><input type="hide" id="ruleOrgCode" /></div> </body>
0 0
- JS——下拉搜索列表(模糊搜索匹配)
- JS 搜索 --下拉列表
- 搜索框模糊匹配下拉显示
- 可编辑的下拉列表+模糊搜索(模拟)
- jquery下拉模糊搜索
- js+ajax 实现搜索下拉列表
- 类似百度 google的模糊搜索下拉列表
- 客户端js模糊搜索
- js实现模糊搜索
- JS 数组模糊搜索
- Nodis - 前缀匹配、模糊搜索, 基于redis和node.js
- iOS—SQL 模糊搜索
- js搜索下拉菜单
- angularjs-搜索框下拉列表
- JQ模糊匹配(类似百度搜索等)
- BootStrap下拉框,添加模糊搜索
- 模糊搜索(searchBar)
- EasyUi模糊匹配搜索框combobox
- React Native 之 TextInput使用
- 泪流满面,过年花的倾家荡产
- 网页数据抓取之读取网页数据
- (五十)socket编程——出错函数的封装和基于UDP的C/S模型
- 春节假期还挺忙
- JS——下拉搜索列表(模糊搜索匹配)
- 对线性回归、逻辑回归、各种回归的概念学习
- android画虚线
- 面向服务的分析与设计原理
- C2-1简单题目
- 剑指offer-面试题34-丑数
- ssh 所选的用户密钥未在远程主机上注册
- HTML DOM innerHTML 属性
- 解决Python查询Mysql数据库信息乱码问题