js—模糊查询
首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串。
以下例子没有接触到后台数据的知识,只是查询当前表格中每一行所包含的关键字。
用到的方法为:string.indexOf(''); 找出字符串中某个字符的位置,而如果没有目标字符会返回-1。
实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
<script type="text/javascript">
$(function(){
// 当触发回车事件 / 输入查询关键字改变时,调用dimSearch() 函数
$("#Result1 tr:eq(1)").find("input").each(function(){
$(this).keyup(function(){
$(this).val($(this).val().replace(/'/g,''));
if(event.keyCode == 13){
dimSearch();
return
}
})
$(this).change(function(){
$(this).val($(this).val().replace(/'/g,''));
dimSearch();
return;
})
}) function dimSearch(){
var accountNameStr = $("#accountNameStr").val().replace(/'/g, '');
var accountNoStr = $("#accountNoStr").val().replace(/'/g, '');
var accountShortStr = $("#accountShortStr").val().replace(/'/g, '');
var branchBankNoStr = $("#branchBankNoStr").val().replace(/'/g, '');
var branchBankNameStr = $("#branchBankNameStr").val().replace(/'/g, '');
var showTrs = $("#Result1 tr").eq(1).nextAll(); // 获取需要查询的所有tr showTrs.each(function(){
if( $(this).find("td:eq(1)").text().indexOf(accountNameStr) > -1
&& $(this).find("td:eq(2)").text().indexOf(accountNoStr) >-1
&& $(this).find("td:eq(3)").text().indexOf(accountShortStr) > -1
&& $(this).find("td:eq(4)").text().indexOf(branchBankNoStr) > -1
&& $(this).find("td:eq(5)").text().indexOf(branchBankNameStr) > -1
){
$(this).show()
}else{
$(this).hide()
}
})
if( $("#Result1 tr").eq(1).nextAll("tr:visible").length == 0 ){
$("#Result1").append("<tr><td colspan='6' style='color: red'>没有符合条件的记录!</td></tr>")
}
}
}) </script>
</head>
<body>
<table id="Result1">
<tr>
<th></th>
<th>账户名称</th>
<th>账户</th>
<th>户名简称</th>
<th>开户行号</th>
<th>开户行名称</th>
<th></th>
</tr>
<tr class="dim-check">
<td></td>
<td><input type="text" maxlength="50" id="accountNameStr" name="1" value=""></td>
<td><input type="text" maxlength="50" id="accountNoStr" name="2" value=""></td>
<td><input type="text" maxlength="50" id="accountShortStr" name="3" value=""></td>
<td><input type="text" maxlength="50" id="branchBankNoStr" name="4" value=""></td>
<td><input type="text" maxlength="50" id="branchBankNameStr" name="5" value=""></td>
</tr>
<tr>
<td><input type="radio" name="accounts" value="634"></td>
<td>安顺账号1</td>
<td>060156300000123</td>
<td>简称123</td>
<td>31375635312</td>
<td>中国银行股份有限公司</td>
</tr>
<tr>
<td><input type="radio" name="accounts" value="634"></td>
<td>安顺账号2</td>
<td>0601001100000123</td>
<td>安顺账号2-简称123</td>
<td>3137565012</td>
<td>南京银行股份有限公司</td>
</tr>
<tr class="">
<td><input type="radio" name="accounts" value="634"></td>
<td>安顺账号3</td>
<td>0601001154520123</td>
<td>安顺账号215</td>
<td>38968599012</td>
<td>建行有限公司</td>
</tr>
</table> </body>
</html>
js—模糊查询的更多相关文章
- js模糊查询案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js模糊查询
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 编写简易的JS输入框模糊查询匹配(附有源码和demo)
前言:JS输入框模糊匹配插件以前在工作写过一个类似的 所以这次写轻松很多,这次写优化了几个方面: 1. 添加动态加载css文件 不需要引入css css全部在JS动态生成. 2. 不需要额外的标签 只 ...
- js前端实现模糊查询
对于模糊查询,一般都是传关键字给后端,由后端来做.但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定程度上提高用户体验.废话不多说,直接上代码. //字符串方法indexOfvar len ...
- js实现模糊查询
1.简述 实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现. 后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询. 前端直接使用字符串的indexOf()方法或者正则表达 ...
- 前端js模糊搜索(模糊查询)
1.html结构: <label for="searchShop" class="clear pos-a" style="top:17px;&q ...
- js实现下拉框模糊查询
keyup方法触发模糊查询 list : Array<any> //下拉列表所有内容 filtList:Array<any> //过滤后的内容 inputContent : s ...
- js的模糊查询
在项目中会用到模糊查询,之前在首页是用的element的tree显示的目录,会有用到搜索,但tree里边会有自带的模糊查询,用filter-node-method方法使用 但上次的项目中 又涉及到不试 ...
- 通过模拟数据,使用js在前端实现模糊查询下拉框功能实例教程
所谓模糊查询就是通过关键字在数据中匹配到包含关键字的数据,而得出的查询结果.本实例教程讲解在前端文本框输入关键字,显示匹配的数据列表功能. 首先得准备一个文本框和显示数据列表的div元素,html代码 ...
随机推荐
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
- DB2重启数据库实例
DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...
- nginx启动报错:/usr/local/nginx/sbin/nginx: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
查看依赖库:
- TFS 生成配置
生成
- 免费SSL证书 之Let’s Encrypt申请与部署(Windows Nginx)
我着着皇帝的新衣,但是你看不见 有一颗愿意等待的心,说明你对未来充满希望.有一颗充满希望的心,那么等待又算什么.人就是在等待与希望中度过,我们永远要对未来充满信心! 读在最前面: 1.本文案例为 ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- Lesson 16 A polite request
Text If you park your car in the wrong place, a traffic policeman will soon find it. You will be ver ...
- 周六搞事情,微信小程序开发文档已放出!
程序员们,你们有事干了! 个人感觉不管是什么形式的UI技术,都无法决定一个产品的生死,核心还是服务和模式的创新. 某些方面和ApiCloud好像,但发展前景远远胜过ApiCloud. 微信小程序可以为 ...
- Spring集成MyBatis
本文原创,原文地址为http://www.cnblogs.com/fengzheng/p/5045105.html 如果觉得Hibernate不够灵活,可以尝试用Mybatis.相比于Hibernat ...
- ABP框架 - 验证数据传输对象
文档目录 本节内容: 简介 使用数据注解 自定义验证 禁用验证 正常化 简介 一个应用的输入应当先要验证,这个输入可能来自用户或另一个应用,在一个web应用里,验证通常实现两次:在客户端和在服务端,客 ...