纯前端实现模糊搜索
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>搜索框测试Demo</title> <style> .searchDiv {width: 400px;height: 400px;margin: 150px auto;} .on {font-size: 12px;font-weight: 700;color: red;} /* 隐藏 拼音 标签 */ p {display: none;} </style> <script type="text/javascript" src="../asset/js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(function(){ //键盘按键弹起时执行 $('#index').keyup(function(){ var index = $.trim($('#index').val().toString()); // 去掉两头空格 if(index == ''){ // 如果搜索框输入为空 $('li').removeClass('on'); return false; } var parent = $('ul'); $('li').removeClass('on'); //选择包含文本框值的所有加上focus类样式,并把它(们)移到ul的最前面 // prependTo() 方法在被选元素的开头(仍位于内部)插入指定内容 // contains 选择器,选取包含指定字符串的元素 $("li:contains('"+index+"')").prependTo(parent).addClass('on'); $("p:contains('"+index+"')").parent().prependTo(parent).addClass('on'); }); }); </script> </head> <body> <div class="searchDiv"> 我要搜:<input type="text" id="index"/> <ul> <li>郑州的文武<p>zzdww</p></li> <li>我来自新乡市<p>wlzxxs</p></li> <li>我的母校是中原工学院<p>wdmxszygxy</p></li> <li>我叫郑斌<p>wjzb</p></li> <li>芳龄22<p>fl22</p></li> </ul> </div> </body> </html>
//模糊搜索升级改造版
<div id="header" class="input-group" alt="" > <image src="../images/magnifier.png" class="magnifier"> <input id="searchStr" type="text" placeholder="请输入客户姓名、电话" class="form-control input-lg"/> <span id="cleaSearch" class="input-group-addon btn btn-primary">清除</span> </div> <div class="user-scroll modal-body" id="custData"></div>
//实现模糊搜索,以及点击按钮清除文本框内容
//客户搜索 //键盘按键弹起时执行 $('#searchStr').keyup(function(){ if (!($("#custData").html())) return; var searchStr = $.trim($('#searchStr').val().toString()); // 去掉两头空格 if(searchStr == '') { // 如果搜索框输入为空 $("#custData").find("p").each(function(){ $(this).show(); }); } else { $("#custData").find("p").each(function(){ var _text=$(this).text(); if (_text.indexOf(searchStr)!=-1){ $(this).show().siblings().hide(); } else $(this).hide(); }); } }); //清除 $("#cleaSearch").click(function(){ $("#searchStr").val(""); var searchStr = $.trim($('#searchStr').val().toString()); // 去掉两头空格 if(searchStr == '') { // 如果搜索框输入为空 $("#custData").find("p").each(function(){ $(this).show(); }); } else { $("#custData").find("p").each(function(){ var _text=$(this).text(); if (_text.indexOf(searchStr)!=-1){ $(this).show().siblings().hide(); } else $(this).hide(); }); } })