浅析基于WEB前端页面的页面内容搜索的实现思路


Posted in Javascript onJune 10, 2014

在网页做查询以前都是这么做的

   表单获取关键字 ?> 传入后端SQL语句处理 ?>数据返回给前端显示

今天突然到游览器的Ctrl+F的这个功能怎么实现的,把数据一次放在页面上,然后在用JS 去匹配页面的内容。

不管怎么样,现在完成了功能,然后在做优化

$(function(){
     var UserArray = new Array();
     var TurenameArray = new Array();
     var table = $("table>tbody");     table.children().each(function(){
        userid = $(this).children().eq(0).html();
        //将学号存入输出的中
        UserArray.push(userid);
        turename = $(this).children().eq(1).html();
        //将姓名存了数组中
        TurenameArray.push(turename);
     });
   //
     $("#search").focus(function(){
          $(this).val("");
       }).blur(function(){
         val = $.trim($(this).val());
         if(val === "")
         {
            $(this).val("工号/姓名");
         }
       });
    $(".btn").click(function(){
      val = $("#search").val();
      if(val === "工号/姓名")
      {
         alert("请输入有效的工号和姓名");
      }
      else
      {
         table.children().hide("100");
         if(!isNaN(val))
         {
            hanld(UserArray,val);
         }
         else
         {
           hanld(TurenameArray,val);
         }
      }
    });
function hanld(array,value)
{
     for(i=0;i<array.length;i++)
      {
        if(array[i].indexOf(value) !== -1)
        {
            table.children().eq(i).show("1000");
        }
      }
}

代码在上面,我下面说一下 设计思路。

获取到要匹配的数据结合按顺序存入到数组中,然后在匹配。

用JS的子串定位的函数indexof 如果不匹配就返回-1,匹配就返回字符串的位置。

这样就可以完成搜索。先把所有数据都隐藏,然后匹配成功就显示出来了。这样就OK了

Javascript 相关文章推荐
javascript parseInt 函数分析(转)
Mar 21 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
Nov 30 Javascript
在JavaScript中typeof的用途介绍
Apr 11 Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 Javascript
详解JavaScript基于面向对象之创建对象(2)
Dec 10 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
深入理解vue.js中的v-if和v-show
Jun 22 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
Jun 10 #Javascript
iframe里的页面禁止右键事件的方法
Jun 10 #Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 #Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 #Javascript
js换图片效果可进行定时操作
Jun 09 #Javascript
jQuery如何将选中的对象转化为原始的DOM对象
Jun 09 #Javascript
javascript 处理null及null值示例
Jun 09 #Javascript
You might like
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
Python利用IPython提高开发效率
2016/08/10 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
python实现扫雷游戏的示例
2020/10/20 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
函授本科毕业自我鉴定
2013/10/09 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
机械专业求职信范文
2014/07/15 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
改造DE1103三步曲
2022/04/07 无线电