通过JavaScript实现分页及搜索查询
// 通过url获取参数let url = context.ctx.request.originalUrl;// 解析url中的汉字url = decodeURI(url);let select = {};// 将搜索条件转为一个对象if (url.indexOf('?') != -1) {let arr = url.slice(url.indexOf('?') + 1).split('&');arr.forEach(item => {let param = item.split('=');select[param[0]] = param[1];});}//准备进行分类筛选 select:筛选条件 arr:数据源const deduplicationAfter = (select, arr) => {// 去掉pageNum和pageSize作为筛选条件let selectKey = Object.keys(select);if (selectKey.includes('pageNum')) {selectKey.splice(selectKey.indexOf('pageNum'), 1);}if (selectKey.includes('pageSize')) {selectKey.splice(selectKey.indexOf('pageSize'), 1);}// 判断去掉pageNum和pageSize后是否有其他搜索条件if (selectKey.length > 0) {let newArray = selectKey.reduce((pre, cur) => {return pre.filter(item => {return select[cur] == item[cur];});}, arr);// 判断过滤后的结果是否为空if (// typeof select.pageNum !== '' ||// typeof select.pageSize !== '' ||newArray.length === 0 ||newArray.length < (select.pageNum - 1) * select.pageSize ||select.pageNum * 1 < 0 ||select.pageSize * 1 < 0) {return '暂无数据';}return newArray;} else {// 如果筛选出来的数据不足一页 就直接returnif (arr.length < select.pageSize * 1) {return arr;}// 如果筛选出来的数据大于页码 就开始进行分页处理if (arr.length > select.pageSize * 1) {return arr.splice((select.pageNum - 1) * select.pageSize, select.pageSize * 1);}return arr;}};
通过JavaScript实现分页及搜索查询相关推荐
- 六、教师管理-列表查询、分页、搜索
一. 需求分析 教师管理主要针对充值教师进行管理,首先开发教师管理模块中的列表功能,包含条件查询.下拉框.日期功能. 数据列表.分页. 二. 教师数据列表 1 nodejs 添加数据列表接口,去nod ...
- mybatis动态查询(分页排序搜索)+分解关联查询+Logback 日志配置(打印sql到控制台)+mybatis新增记录后返回自增的id。批量=11/2~11/20
一.mybatis动态查询(分页排序搜索) mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和lim ...
- index客户主页+页面分页的模糊查询 and add知识
一.首先回望一下,我们经常会在JSP学习中遇到的问题和有必要掌握的 a little 知识. 1.如何修改默认的编码方式? 1)首先点击eclipse上方工具栏的window,选择preference ...
- Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据、实现分页和模糊查询等功能
Spring Boot+MybatisPlus使用JQuery DataTables表格插件展示数据.实现分页和查询功能 一.部分技术选型 二.项目结构 三.功能需求和效果展示 四.关键代码 4.1页 ...
- Spring Boot2.0 JPA 实现分页(简单查询分页、复杂查询分页)
一.简单分页(只有一个查询条件) 在Repository层将查询语句的返回值类型设置为为Page类型,查询参数中加入Pageable pageable,如: @Repository public in ...
- django ajax 查询,Django分页和Ajax查询
在Django中,实现分页以在多个页面上显示查询项目是非常简单的.使用Ajax仅更新实际发生更改的页面位,而不是每次加载整个页面也是非常直接的.但是,当我们将两者结合在一起时,我发现它有点问题.Dja ...
- 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框
文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...
- Elasticsearch(十)【NEST高级客户端--搜索查询】
搜索 Search API允许您执行搜索查询并获取与查询匹配的搜索匹配. Elasticsearch的搜索功能可能是您使用它的原因之一,NEST公开了所有可用的不同类型的搜索,以及一些聪明的使用Ela ...
- Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改
难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...
- elasticsearch 6.2.2 搜索推荐系列(三)之高级搜索查询实现( 中文+拼音+首字母+简繁转换+特殊符号过滤)
一.先摆需求: 1.中文搜索.英文搜索.中英混搜 如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜 如 ...
最新文章
- mysql goto,如何在MySQL存储函数中使用goto标签
- 为什么log4j的概念模型是错的--zlog的模型简介
- Android中Webview使用javascript调用事先定义好的Java函数
- 2018年应用交付控制器市场将发生重大变化
- 浅谈c++中结构体和共用体的区别
- vector元素个数_STL之vector
- java彩票开奖程序_用java 实现彩票摇奖,猜拳程序
- 安装好的java在哪里打开_安装了java怎么打开jar
- 使用labview制作漂亮的按钮
- .NET调用新浪微博开放平台接口的代码示例
- 自定义View实践:指南针的实现
- 玩客云手动设置IP地址
- oracle学习笔记(四)-- 数学函数
- ISIS—ISIS中LSP(数据库)同步如何保证LSDB可靠性—04
- 【独行秀才】macOS Monterey 12.2.1正式版(21D62)原版镜像
- 原生 js 实现无缝滚动轮播
- 便携式CAN分析仪can总线的产品特性及选型分享
- 《她的声音,每一首歌都是一个驿站》
- Python 视频(连续图片)转gif动图
- MySQL的登陆错误:ERROR 1049 (42000): Unknown database ‘123456‘
热门文章
- 在华为三层交换机上如何实现不同vlan间的通信
- 日记 [2007年11月19日]...
- 在计算机领域黑箱,探究黑箱的认知革命
- 可变条码打印软件如何制作黑底白字条形码
- viper12a电源电路图_viper12a引脚功能图与引脚电压
- 安卓手机有坏点测试软件,检测手机屏幕是否有坏点的方法分享 怎么检测手机屏幕坏点...
- keytool条目_keytool常用命令
- Ubuntu下VSCode使用等宽字体设置
- 基于MATLAB的身份证号码的识别算法
- 在计算机中()个字节称为MB,计算机基础考试题库(范文).doc