首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

那些让我印象深刻bug--排序字段设置不合理导致分页接口不同出现重复数据

今天为大家分享一个最近在工作中遇到bug,现象就是:app在下拉翻页时候,页面出现重复数据(比如之前出现在第一数据,最后第二中又出现了)。 经过分析之后,原因是什么呢?...一般接口,都支持传pagesize和pageindex字段,分别对应每一返回记录数以及返回第几页数据,然后有的接口做灵活一点,还可以入参中传排序字段翻页时候,可以指定字段排序后再返回某一数据...出现重复数据,我目前遇到过有以下两个场景导致: 1、列表数据是实时变化,可能上一秒这条数据出现在第一,但是下一秒你翻页时候,数据库里面加入了新数据,导致之前数据会挤到了第2了。...2、数据库里面,按照某一列排序时候,如果值相同,那么每次排顺序可能不一致。当然,不一定所有数据库都有这种情况,但至少我们现在用mongo有这个问题。 那既然发现了这个问题,怎么去解决呢?...对于第一种场景的话,我个人认为暂时也可以不优化,主要处理下第二种,传参中指定某个字段排序后,代码中默认再加上mongo里面的"_id"字段去进行排序,因为这个字段值是唯一,这样的话可以避免这个问题

80030

java文本框获得输入焦点_文本框获得焦点和失去焦点判断代码

文本框失去焦点事件、获得焦点事件 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件...onpropertychange 当属性改变发生该事件 无论粘贴 keyup onchange等,最为敏感 先来看javascript直接写在了input jquery实现方法 对于元素焦点事件...,我们可以使用jQuery焦点函数focus(),blur()。...这里label覆盖文本框上,可以更好控制样式 jquery代码 $(function() { $(‘#searchKey’).focus(function() { $(‘#lbSearch’)....其中placeholder就是其中一个,它可以同时完成文本框获得焦点和失去焦点。必须保证inputvalue值为空, placeholder内容就是我们面上看到内容。

4K40
您找到你想要的搜索结果了吗?
是的
没有找到

180多个Web应用程序测试示例测试用例

9.金额值应使用正确货币符号显示。 10.应提供默认页面排序。 11.重置按钮功能应为所有字段设置默认值。 12.所有数值均应正确设置格式。 13.应检查输入字段最大字段值。...25.用字符输入值检查数字输入字段。将会出现正确验证消息。 26.如果允许数字字段,请检查是否为负数。 27.检查带有十进制数字值字段数。 28.检查所有页面上可用按钮功能。...7.禁用字段应显示为灰色,并且用户不应将重点放在这些字段。 8.单击输入文本字段后,鼠标箭头指针应变为光标。 9.用户应该不能输入下拉选择列表。...8.升序和降序排序功能应适用于数据排序所支持列。 9.结果网格应以适当列和行间距显示。 10.当结果多于每页默认结果数时,应启用分页。 11.检查下一,第一和最后一分页功能。...3.检查页面上是否有任何具有默认焦点字段(通常,焦点设置屏幕第一个输入字段)。 4.关闭父窗口/打开器窗口时,检查子窗口是否已关闭。

8.1K21

一些好用jquery技巧

所有你真正需要做800毫秒时间内设置文档主体动画,直到它滚动到文档顶部。 注:小心scrollTop一些错误行为。...6、禁用输入字段 有时候,你可能想要禁用表格提交按钮或它某一项文字输入直到用户执行了特定操作(例如,勾选“我已阅读相关条款”复选框)。...,不过disabled 值要设置为false: $('input[type="submit"]').prop('disabled', false); 7、停止加载链接 有时候,你既不需要链接到某个特定网页...next.slideToggle('fast'); $('.content').not(next).slideUp('fast'); return false; }); 通过添加这个脚本,你真正需要做仅仅是面上添加必要...same-height-columns'); $rows.each(function () { $(this).find('.column').height($(this).height()); }); 11、新标签

3.9K60

【转】jQuery验证控件jquery.validate.js使用说明+中文API

(jQuery.validator.messages, { required: "必选字段", remote: "请修正该字段", email: "请输入正确格式电子邮件", url: "请输入合法网址..."请输入拥有合法后缀名字符串", maxlength: jQuery.validator.format("请输入一个 长度最多是 {0} 字符串"), minlength: jQuery.validator.format...: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间值"), max: jQuery.validator.format("请输入一个最大为{0} 值"),...min: jQuery.validator.format("请输入一个最小为{0} 值") }); 推荐做法,将此文件放入messages_cn.js中,页面中引入 <script src=...,未通过验证表单(第一个或提交之前获得焦点未通过验证表单)会获得焦点 focusCleanup:Boolean  Default: false 如果是true那么当未通过验证元素获得焦点时,

4.6K40

移动商城第三篇(商品管理)【查询商品、添加商品】

面上我们可以发现到4个查询条件: ?...这里写图片描述 ---- 设置默认架状态 ? 这里写图片描述 我们面上,是没有原始架状态。...0【待审核】 对于架状态,默认设置为1【下架】 对于销售量,默认设置为0【并没有人购买】 Mapper中把对应属性设置默认值。...这里写图片描述 controller中使用EbItemClob对象,即可接收我们字段数据!...在对象中还有一些隐藏属性(比如id、上下价、审核状态等),我们根据业务可以直接在SQL语句中设置即可。 大字段数据是与商品有关联,而且大字段itemId面上是无法获取,需要传递进去。

5.7K80

探索 JQuery EasyUI:构建简单易用前端页面

3.6 Form 表单组件Form 表单组件可以将各种表单元素(如输入框、下拉框、复选框等)组合在一起,形成一个完整表单,用户可以表单中输入信息并提交给服务器进行处理。...我们还设置了分页按钮布局,包括列表、分隔符、首页、、页码链接、下一、尾、分隔符和刷新按钮。...用户可以面上看到用户列表,点击“Add User”按钮可以弹出添加用户对话框,输入用户信息后点击“Save”按钮即可将用户信息保存到后端数据库中。...用户可以面上选择不同类型图表(柱状图、折线图、饼图),然后点击对应按钮,页面就会加载相应类型模拟数据并绘制图表。...用户可以面上看到任务列表,点击工具栏按钮可以弹出添加或编辑任务对话框,输入任务信息后点击保存按钮即可将任务信息保存到后端数据库中,同时也可以删除已有的任务。

37910

jQuery Cheat—Sheet(jQuery学习笔记)

**Chaining 允许我们一条语句中运行多个 jQuery 方法**(相同元素) ### jQuery 方法链接 有一种名为链接(chaining)技术,允许我们相同元素运行多条 jQuery...- 设置或返回所选元素内容(包括 HTML 标记) - val() - 设置或返回表单字段值 下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容: $(“#btn1...方法获得输入字段值: $(“#btn1”).click(function(){ alert(“值为: “ + $(“#test”).val()); //警告框弹出test 标签输入文本值...- text() - 设置或返回所选元素文本内容 - html() - 设置或返回所选元素内容(包括 HTML 标记) - val() - 设置或返回表单字段值 下面的例子演示如何通过 text...“ }); $(“#btn3”).click(function(){ $(“#test3”).val(“DERWER”); //设置test输入框内容为 DERWER }); ```

16.2K30

Jquery DataTable 学习之基础配置(二)

2017-01-12 03:19:31 本文将介绍jquery DataTable一些基础配置,如分页、排序、过滤等,代码如下 $(document).ready(function() { $('...当开启分页功能后,jquery DataTable将会在页面上将表格进行分页处理,此分页方式与后台无关,只需要在初始化之前将数据填充到表格当中,然后进行表格初始化操作,之后插件会自动对表格进行分页处理...它可以在当用户输入每个字符时进行表格全文字段搜索,搜索出相关信息展示出来,同时进行分页处理。...1.4排序功能 通过设置排序功能后用户可以点击表头时进行排序处理,例如某列为价格信息,那么点击价格列后,插件会自动根据价格进行排序,可进行升序和降序排序。...null或者为“bSortable”:true,不需要进行排序设置为“bSortable”:false,该方法弊端为必须要知道表格有多少列,否则会报错。

1.2K10

chrome快捷键

跳转到特定标签 Ctrl + 1 到 Ctrl + 8 跳转到最后一个标签 Ctrl + 9 在当前标签中打开主页 Alt + Home 打开当前标签浏览记录中记录上一个页面 Alt + 向左箭头键...“历史记录” Ctrl + h 新标签中打开“下载内容” Ctrl + j 打开 Chrome 任务管理器 Shift + Esc 将焦点放置 Chrome 工具栏中第一项 Shift +...Alt + t 将焦点放置 Chrome 工具栏中最后一项 F10 将焦点移到未聚焦于对话框(如果显示)中 F6 打开查找栏搜索当前网页 Ctrl + f 或 F3 跳转到与查找栏中搜索字词相匹配下一条内容...和 .com,并在当前标签中打开该网站 输入网站名称并按 Ctrl + Enter 键 打开新标签并执行 Google 搜索 输入搜索字词并按 Alt + Enter 键 跳转到地址栏 Ctrl...Ctrl + 向左箭头键 将光标移到文本字段上一个字词后面 Ctrl + 向右箭头键 删除文本字段上一个字词 Ctrl + Backspace 在当前标签中打开主页 Alt + Home

1.8K20

Chrome 键盘快捷键 转

+ Tab 或 Ctrl + PgUp 跳转到特定标签 Ctrl + 1 到 Ctrl + 8 跳转到最后一个标签 Ctrl + 9 在当前标签中打开主页 Alt + Home 打开当前标签浏览记录中记录上一个页面...“历史记录” Ctrl + h 新标签中打开“下载内容” Ctrl + j 打开 Chrome 任务管理器 Shift + Esc 将焦点放置 Chrome 工具栏中第一项 Shift +...Alt + t 将焦点移到未聚焦于对话框(如果显示)中 F6 打开查找栏搜索当前网页 Ctrl + f 或 F3 跳转到与查找栏中搜索字词相匹配下一条内容 Ctrl + g 跳转到与查找栏中搜索字词相匹配一条内容...将光标移到文本字段上一个字词后面 Ctrl + 向右箭头键 删除文本字段上一个字词 Ctrl + Backspace 将焦点移到通知 Alt + n 通知中允许 Alt + Shift +...  或“前进”箭头 最大化模式和窗口模式间切换 双击标签栏空白区域 放大网页所有内容 按住 Ctrl 键同时向上滚动鼠标滚轮 缩小网页所有内容 按住 Ctrl 键同时向下滚动鼠标滚轮

1.4K20

富Web应用架构与转化方法:Web应用系列第二篇

丰富应用程序标志之一是缺少页面重新加载和减少页面导航。例如,您在表单输入数据,然后单击“提交”按钮。没有明显等待响应。这是因为是使用了Ajax技术将数据传输到服务器并在后台接收响应。...工作单元可以是发票输入,其中发票输入所有功能在一个页面上可用:创建,更新,删除和查询。我们将看到RichFaces如何能够大大降低复杂性并加速此类丰富应用程序开发。...他们可以接受: 要渲染空格分隔组件列表 @form - 提交在其嵌入表单中定义所有字段 @this - 组件本身内声明区域或组件 @none - 不渲染页面的任何部分 @all - 渲染页面上所有组件...快速入门演示了使用jQuery注册新成员时显示消息。 如何在页面上放置一个组件,例如列出当前库存表格,并在库存发生变化时自动更新,即使库存交易不是来自你? 使用RichFaces推送。...RichFaces推送组件适用于基于JMS或CDI事件数据源。 页面上RichFaces组件充当服务器发生事件侦听器。 我们将审查基于CDI事件组件版本。

3.5K20

02-老马jQuery教程-jQuery事件处理

它发生在当前获得焦点元素。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...它发生在当前获得焦点元素。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...说明:选择元素绑定一个或多个事件事件处理函数。...如果把绑定时传递处理函数作为第二个参数,则只有这个特定事件处理函数会被删除。...(off) 语法:off(events,[selector],[fn]) 如果一个简单事件名称,比如提供"click",所有 这种类型事件(包括直接和委派)从jQuery设置元素删除。

2.7K80

JavaScriptJQuery基本使用

前言 这是前端JavaScript和JQuery基础使用,对于日常使用来说,这些代码足够了。我写代码时候经常忘记,写下常用代码,用时候直接看这些,免得再去百度了。...} ---- 事件监听 HTML DOM 事件大全——引自w3school 1、input输入框事件监听 输入事件监听有:输入框获得焦点focus、失去焦点blur、文本内容变化(输入或删除字...: 类似于blur,change必须是内容发生变化而且失去焦点才能触发。...对象 $(js对象) ---- 页面跳转 原来窗体中直接跳转用 window.location.href="你所要跳转页面"; 新窗体中打开页面用: window.open('你所要跳转页面'...); window.history.back(-1);返回 ---- json处理 如果json是由数组来,那么parse()解析后,会变为json数组,使用json[数字]来获取数据,由对象变来的话

23330

jQery

); 作用 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新jQuery插件 与Ajax技术完美结合 引入 <script src="js/<em>jquery</em>-3.3.1.min.js" type...(图片、flash、视频等)并没有加载完 编写个数 同一面不能同时编写多个 同一面能同时编写多个 简化写法 无 $(function(){ //执行代码}) ; 基本语法 $(selector)....='en']" )选取href属性值以en开头元素 [attribute$=value] 选取给定属性是以某些特定值结尾元素 $(" [href$='.jpg']" )选取href属性值以.jpg结尾元素...** :focus 选取当前获取焦点元素 $(":focus" )**选取当前获取焦点元素** :animated 选择所有动画 $(":animated" )**选取当前所有动画元素** 语法...描述 示例 :visible 选取所有可见元素 $(":visible" )**选取所有可见元素** :hidden 选取所有隐藏元素 $(":hidden" ) 选取所有隐藏元素 最后两个一般不作为设置样式只做显示或者隐藏修改

19610
领券