本文主要是想实现浏览器的CTRL+F功能,提供个思路和代码,需要的朋友可以参考下

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

表单获取关键字 –> 传入后端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了

最新资讯
京东子业务IPO背后:多项业务已经步入正轨

京东子业务IPO背后:多

在被拼多多追赶了这么几年后,其已经出现后继乏力的现象
库克看好远程办公:苹果不会“回到过去的样子”

库克看好远程办公:苹果

苹果首席执行官蒂姆·库克(Tim Cook)称,员工远程工作的能
5G时代会有何生态变迁?智能应用愈丰但安全挑战加剧|新浪5G峰会

5G时代会有何生态变迁

在生态变迁分论坛上,奇安信董事长齐向东、完美世界CEO
苏宁收购家乐福中国一周年 张近东:家乐福的本土竞争力更强了

苏宁收购家乐福中国一

张近东认为,零售业已进入全场景时代,传统的卖场数字化转
立法者突然造访亚马逊仓库 对其员工保护提出质疑

立法者突然造访亚马逊

据报道,两名来自美国密歇根州的议员在参观了亚马逊公司
理想汽车将在全尺寸SUV采用NVIDIA自动驾驶智能芯片ORIN

理想汽车将在全尺寸SU

理想汽车与人工智能计算公司NVIDIA及NVIDIA中国合作伙
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,