浅析基于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 相关文章推荐
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
jquery读取xml文件实现省市县三级联动的方法
May 29 Javascript
jQuery无刷新分页完整实例代码
Oct 27 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
javascript cookie的简单应用
Feb 24 Javascript
jQuery判断checkbox选中状态
May 12 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
原生JS封装animate运动框架的实例
Oct 12 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
Node.js 在本地生成日志文件的方法
Feb 07 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和ACCESS写聊天室(九)
2006/10/09 PHP
php 过滤危险html代码
2009/06/29 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
PHP类的封装与继承详解
2015/09/29 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
javascript读取RSS数据
2007/01/20 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
python 操作excel表格的方法
2020/12/05 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
施工安全协议书
2013/12/11 职场文书
公司员工检讨书
2014/02/08 职场文书
厕所文明标语
2014/06/11 职场文书
2015年保管员工作总结
2015/04/30 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏