浅析基于WEB前端页面的页面内容搜索的实现思路
更新时间:2014年06月10日 10:04:39 作者:
本文主要是想实现浏览器的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了
相关文章
JavaScript Echarts柱状图label优化中问题针对讲解
这篇文章主要介绍了JavaScript Echarts柱状图label优化中问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-12-12
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
这篇文章主要介绍了微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能,涉及微信小程序map组件结合微信API获取天气信息相关操作技巧,需要的朋友可以参考下2019-01-01


最新评论