浅析基于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定义类或函数的几种方式小结
Jan 09 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
js中的内部属性与delete操作符介绍
Aug 10 Javascript
高效的jquery数字滚动特效
Dec 17 Javascript
完善的jquery处理机制
Feb 21 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
angularjs实现首页轮播图效果
Apr 14 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
Nov 11 Javascript
dts文件中删除一个node或属性的操作方法
Aug 05 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简单静态页生成过程
2008/03/27 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
页面版文本框智能提示JS代码
2009/11/20 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python Web服务器Tornado使用小结
2014/05/06 Python
Python解决鸡兔同笼问题的方法
2014/12/20 Python
Python全局变量操作详解
2015/04/14 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python随机数分布random测试
2018/08/27 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
纯CSS3代码实现switch滑动开关按钮效果
2016/08/30 HTML / CSS
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
大专毕业生简历的自我评价
2013/10/20 职场文书
建筑设计师岗位职责
2013/11/18 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
擅自离岗检讨书
2014/02/11 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫