基于springboot和ajax的简单项目 04.html文件的js用来分页功能,有专门的分页页面html文件(下)

news2024/11/28 6:52:05

01,因为分页的功能是很多场景都需要使用的,所以可以单独提出来,到时候加载到相关html的div中就好了。
最开始初始化分页html文件(page.html)的全部代码:(直接使用的是ul,li)

<ul class="pagination pagination-sm no-margin pull-right">
    <li><a class="first">首页</a></li>
	<li><a class="pre">上一页</a></li>
	<li><a class="next">下一页</a></li>
	<li><a class="last">尾页</a></li>
	<li><a class="rowCount">总记录数(0)</a></li>
	<li><a class="pagesall">总页数(0)</a></li>
	<li><a class="pageCurrent">当前页(1)</a></li>
</ul>
<script type="text/javascript">

</script>

02.由于是不完整的html文件,所以,可以使用加载页面的标签。
在日志界面(log_list.html),有个div是专门加载分页的,id=pageid。

<div id="pageId" class="box-footer clearfix" dm="100">
			  
</div>

可以在page.html中去使用这个div(id=pageid),给相关的li标签添加点击事件。因为很多情况下都需要使用分页,所以js在page.html写比较好。

$(function(){
            //事件注册
             $("#pageId").on("click",".first,.pre,.next,.last",doJumpToPage);
})

03.更新分页界面的信息。
这个更新的操作,应该和成功查找数据后的操作一起同时发生。
也就是说,这个两个函数应该写在一起(并且page.html文件是不完整的html文件,所以,这个文件的函数是可以运行在加载的html文件上的)

在page.html文件中声明更新操作函数:(.html()函数是更新html标签数据的jQuery函数)

 function doSetPagination(page){
            //1.始化数据
            $(".rowCount").html("总记录数("+page.rowCount+")");
            $(".pagesall").html("总页数("+page.pagesall+")");
            $(".pageCurrent").html("当前页("+page.pageCurrent+")");
           
    }

在这里插入图片描述
再在log_list.html文件中去运行这个函数(在更新table数据函数之后)。

function doHandleQueryResponseResult (result){ //JsonResult
           if(result.state==1){//ok
                //更新table中tbody内部的数据
                doSetTableBodyRows(result.data.rcords);//将数据呈现在页面上
                //更新页面page.html分页数据
                //doSetPagination(result.data); //此方法写到page.html中
            }else{
                alert(result.message);
            }  
 }

04.跳转界面
功能描述:在点击首页,上一页,下一页,尾页的时候,更新页面(table)的数据和当前页(li)的数据

使用的是data()方法。因为其他的例如value(),text()都不能满足要求,获取li标签上的pageCurrent的值

在这里插入图片描述
优化更新分页数据doSetPagination(page)函数,添加代码

//2.绑定数据(为后续对此数据的使用提供服务)
		$("#pageId").data("pageCurrent",page.pageCurrent);
		$("#pageId").data("pagesall",page.pagesall);
	function doSetPagination(page){
		//1.始化数据
		$(".rowCount").html("总记录数("+page.rowCount+")");
		$(".pagesall").html("总页数("+page.pagesall+")");
		$(".pageCurrent").html("当前页("+page.pageCurrent+")");
		//2.绑定数据(为后续对此数据的使用提供服务)
		$("#pageId").data("pageCurrent",page.pageCurrent);
		$("#pageId").data("pagesall",page.pagesall);
	}

跳转函数,也就是点击事件响应的函数

使用标签的class属性,来分别确定是哪个li标签,从而修改相应的pageCurrent的值,例如首页的话,pageCurrent=1。上一页的话,是pageCurrent–,下一页的话,是pageCurrent++,尾页的话,是pageCurrent=pageall。执行真正的跳转函数,也就是log_list.html文件上的那个更新table的函数(getjson的那个函数)(这也是点击事件要实现的功能之一,而后在回调函数中,再去执行doSetPagination(page)更新li中的数据 )

function doJumpToPage () {
		//1.获取点击对象的class值
		var cls=$(this).prop("class");//Property
		//2.基于点击的对象执行pageCurrent值的修改
		//2.1获取pageCurrent,pageCount的当前值
		var pageCurrent=$("#pageId").data("pageCurrent");
		var pagesall=$("#pageId").data("pagesall");
		//2.2修改pageCurrent的值
		if(cls=="first"){//首页
			pageCurrent=1;
		}else if(cls=="pre"&&pageCurrent>1){//上一页
			pageCurrent--;
		}else if(cls=="next"&&pageCurrent<pageCount){//下一页
			pageCurrent++;
		}else if(cls=="last"){//最后一页
			pageCurrent=pagesall;
		}else{
			return;
		}
		//3.对pageCurrent值进行重新绑定
		$("#pageId").data("pageCurrent",pageCurrent);
		//4.基于新的pageCurrent的值进行当前页数据查询
		doGetObjects();

	}

因为是使用的data()方法来保存要返回的pageCurrent值,所以,是要修改申请后台数据的函数的内容(pageCurrent是一个要传入后台的参数),不会再去写死pageCurrent的值是1,而是去接受由page.html文件doJumpToPage 函数传递过来的pageCurrent。

修改的代码:

var pageCurrent=$("#pageId").data("pageCurrent");
           //为什么要执行如下语句的判定,然后初始化pageCurrent的值为1
           //pageCurrent参数在没有赋值的情况下,默认初始值应该为1.
           if(!pageCurrent) pageCurrent=1;
           var params={"pageCurrent":pageCurrent};//pageCurrent=2

总体的代码是:

function doGetObjects() {
        //发送json请求,接受数据
		//1.定义url和参数
		var pageCurrent=$("#pageId").data("pageCurrent");
		//为什么要执行如下语句的判定,然后初始化pageCurrent的值为1
		//pageCurrent参数在没有赋值的情况下,默认初始值应该为1.
		if(!pageCurrent) pageCurrent=1;
		var params={"pageCurrent":pageCurrent};//pageCurrent=2

		var url="log/doFindPageObjects";
		//2.发起异步请求,getjson方法
		$.getJSON(url,params,function (result) {
			//请问result是一个字符串还是json格式的js对象?对象
		console.log(result);
		dohandlerresult(result);
		})

	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode算法小抄--快速排序详解及应用

LeetCode算法小抄--快速排序详解及应用快速排序详解及应用代码实现快速选择算法&#xff08;Quick Select&#xff09;-- 变体[215. 数组中的第K个最大元素](https://leetcode.cn/problems/kth-largest-element-in-an-array/)[剑指 Offer II 076. 数组中的第 k 大的数字](https…

LCMXO2-2000HC-4FTG256I FPGA lattice 深力科MachXO2系列超低功耗非易失PLD器件特性及原理图

LCMXO2-2000HC-4FTG256I FPGA lattice 深力科MachXO2系列超低功耗非易失PLD器件特性及原理图 lattice莱迪斯深力科电子 MachXO2系列 LCMXO2-2000HC-4FTG256I 超低密度FPGA现场可编程门阵列&#xff0c;适用于低成本的复杂系统控制和视频接口设计开发&#xff0c;满足了通信、计…

std::condition_variable::wait_for 的几个细节

std::condition_variable::wait_for 的两种重载用法https://blog.csdn.net/smalbig/article/details/130152253 &#xff08;以下简称上篇&#xff09;直观上介绍了 std::condition_variable::wait_for 的使用效果&#xff0c;这篇对没解释清楚的注释、执行结果进行解释。 1.…

大话 HTTP 协议前世今生

HTTP 全称 Hypertext Transfer Protocol&#xff0c;中文是超文本传输协议。网上讲 HTTP 协议的资料可以说是五花八门&#xff0c;但大多数都在罗列 HTTP 协议具体的规定&#xff0c;很少有讲 HTTP 协议这样设计的原因。今天我就尝试从解决问题的角度分析 HTTP 协议主要特性&am…

Android init学习笔记

init大体介绍 init是Android启动的第一个用户空间进程&#xff0c;它fork产生一些关键进程&#xff0c;如zygote、surfaceflinger进程。 init进程有很多功能&#xff1a;加载内核模块、挂载系统分区、加载sepolicy、支持属性服务、启动rc脚本、执行事件触发器和属性改变等等 …

C++之深入解析STL deque容器的底层实现原理

一、deque 容器的存储结构 事实上&#xff0c;STL 中每个容器的特性&#xff0c;和它底层的实现机制密切相关&#xff0c;deque 自然也不例外&#xff0c;deque 容器擅长在序列的头部和尾部添加或删除元素。想搞清楚 deque 容器的实现机制&#xff0c;需要先了解 deque 容器的…

【Python】实战:生成有关联单选问卷 csv《营养不良风险评估表》

目录 一、适用场景 二、业务需求 三、Python 文件 &#xff08;1&#xff09;创建文件 &#xff08;2&#xff09;示例代码 四、csv 文件 &#xff08;1&#xff09;营养不良风险评估表&#xff08;问题 6 不选“不能取得”&#xff09; &#xff08;2&#xff09;营养…

从输入url到页面展现(一)从浏览器解析url开始

前端面试有一道很考验人的问题&#xff0c;那就是&#xff1a;请你说一下从用户从输入url到页面展现的过程是怎样的&#xff1f;在接下来的一段时间呢&#xff0c;狗哥会从这一问题出发&#xff0c;开始剖析这个过程&#xff0c;希望可以让更多的小伙伴掌握到这个过程&#xff…

【加载plist文件展示单组数据 Objective-C语言】

一、接下来,我们要为大家演示如何通过加载plist文件,使用UITableView展示单组数据, 1.最后运行起来的效果,是一个什么效果呢,是这样一个效果: 2.这个里面,这就是一个单元格吧, 这就是一个单元格, 这个单元格里面,包括一个图片框、一个TextLabel、一个DetailLabel、…

JAVA开发(通过网关gateway过滤器进行返回结果加密)

在对C的网站或者APP后端接口中&#xff0c;参数的传输往往需要加密传输。这时我们 可以通过springcloud的网关过滤器进行统一的控制。 网关过滤器的执行顺序&#xff1a; 请求进入网关会碰到三类过滤器&#xff1a;当前路由过滤器、DefaultFilter、GlobalFilter。 请求路由后…

ChatGPT团队中,3个清华学霸,1个北大学霸,共9位华人

众所周知&#xff0c;美国硅谷其实有着众多的华人&#xff0c;哪怕是芯片领域&#xff0c;华为也有着一席之地&#xff0c;比如AMD 的 CEO 苏姿丰、Nvidia 的 CEO 黄仁勋 都是华人。 还有更多的美国著名的科技企业中&#xff0c;都有着华人的身影&#xff0c;这些华人&#xff…

Vue组件化编程【Vue】

2.Vue 组件化编程 2.1 模块与组件、模块化与组件化 2.1.1 模块 理解&#xff1a;向外提供特定功能的js程序&#xff0c;一般就是一个js文件为什么&#xff1a;js文件很多很复杂作用&#xff1a;复用js、简化js的编写、提高js运行效率。 2.1.2 组件 理解&#xff1a;用来实…

Linux搭建Web服务器(二)——Web Server 与 HTTP

目录 0x01 Web Server 静态网络服务器&#xff08;static web server&#xff09; 动态网络服务器&#xff08;dynamic web server&#xff09; 0x02 HTTP协议 HTTP概述 HTTP工作原理 HTTP请求报文格式 HTTP响应报文格式 0x01 Web Server 一个Web Server就是一个服务器…

我们要被淘汰了?从科技变革看"ChatGPT"与"无代码开发"

现在只要一上网&#xff0c;就能看见GPT都在说“好厉害”、“太牛了”、“新技术要诞生了”、“我们人类要被淘汰了”之类的话题。但是这伟大的技术变革到底给我们带来了什么呢&#xff1f;答案好像又比较模糊。现在ChatGPT的代写、问答&#xff0c;以及开始做的搜索、办公是目…

sql查询语句-01

1.单表查询 ◆限制显示结果 使用limit限制显示的行数&#xff0c;分页函数limit m,n,从m1行开始显示n条记录 例&#xff1a;查询选修课程成绩排在前5的学生的学号和成绩。 select sno,score from SCorder by score desc limit 5;limit 1,3 零是第一条 ◆汇总数据(聚集函数&…

coinex06 // 前端数据 -> ringbuffer -> cpu

目录 0. 逻辑树 1 exchange-service 发送消息 1.1 exchange-service 添加依赖 1.2. yml配置文件 1.3. Source 1.4. 配置类 1.5. 发送消息到撮合引擎 service -> impl -> EntrustOrderServiceImpl 1.6. recket-server:8080 2. match-server 接收数据 2.1 数据转…

【SQL 必知必会】- 第十七课 创建和操纵表

目录 17.1 创建表 17.1.1 表创建基础 替换现有的表 17.1.2 使用NULL值 主键和NULL 值 理解NULL 17.1.3 指定默认值 使用DEFAULT 而不是NULL 值 17.2 更新表 小心使用ALTER TABLE 17.3 删除表 使用关系规则防止意外删除 17.4 重命名表 17.5 小结 这一课讲授创建、更改和删除…

【MyBatis Plus】002 -- 通用CRUD(插入、更新、删除、查询)

目录 3、通用CRUD 3.1 插入操作 3.1.1 方法定义 3.1.2 测试用例 3.1.3 测试 3.1.4 TableField 3.2 更新操作 3.2.1 根据id更新 3.2.2 根据条件更新 3.3 删除操作 3.3.1 根据id删除&#xff08;deleteById&#xff09; 3.3.2 根据Map删除数据&#xff08;deleteByMap&#xff09…

程序员必备技巧:Git 和 GitHub 中高效地将单个文件还原为特定提交

Git 和 GitHub 用于存储您的旧代码&#xff0c;允许您在出现问题时回滚并安全地恢复以前的准确代码。 与其他开发人员协作时&#xff0c;了解如何将单个文件恢复为特定提交也变得至关重要。这是因为&#xff0c;在处理某个功能时&#xff0c;您可能需要修改不相关的文件来测试…

Cursor编程初体验,搭载GPT-4大模型,你的AI助手,自然语言编程来了

背景 这两天体验了下最新生产力工具Cursor&#xff0c;基于最新的 GPT-4 大模型&#xff0c;目前免费&#xff0c;国内可访问&#xff0c;不限次数&#xff0c;跨平台&#xff0c;你确定不来体验一把&#xff1f;官方的 Slogan &#xff1a; Build Software. Fast. Write, edi…