今天为大家分享一个最近在工作中遇到的bug,现象就是:app在下拉翻页的时候,页面出现重复的数据(比如之前出现在第一页的数据,最后在第二页中又出现了)。 经过分析之后,原因是什么呢?...一般的接口,都支持传pagesize和pageindex字段,分别对应每一页返回的记录数以及返回第几页的数据,然后有的接口做的灵活一点,还可以在入参中传排序字段,在翻页的时候,可以指定字段排序后再返回某一页的数据...出现重复数据,我目前遇到过的有以下两个场景导致: 1、列表数据是实时变化的,可能上一秒这条数据出现在第一页,但是下一秒你翻页的时候,数据库里面加入了新的数据,导致之前的数据会挤到了第2页了。...2、数据库里面,按照某一列排序的时候,如果值相同,那么每次排的顺序可能不一致。当然,不一定所有数据库都有这种情况,但至少我们现在用的mongo有这个问题。 那既然发现了这个问题,怎么去解决呢?...对于第一种场景的话,我个人认为暂时也可以不优化,主要处理下第二种,在传参中指定某个字段排序后,代码中默认再加上mongo里面的"_id"字段去进行排序,因为这个字段的值是唯一的,这样的话可以避免这个问题
文本框失去焦点事件、获得焦点事件 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件...onpropertychange 当属性改变发生该事件 无论粘贴 keyup onchange等,最为敏感 先来看javascript的直接写在了input上 jquery实现方法 对于元素的焦点事件...,我们可以使用jQuery的焦点函数focus(),blur()。...这里label覆盖在文本框上,可以更好的控制样式 jquery代码 $(function() { $(‘#searchKey’).focus(function() { $(‘#lbSearch’)....其中placeholder就是其中一个,它可以同时完成文本框获得焦点和失去焦点。必须保证input的value值为空, placeholder的内容就是我们在页面上看到的内容。
回到顶部按钮 预加载图片 检查图片是否加载完毕 自动修复损坏的图片 Hover 上的 Class 开关 禁用 input 字段 停止链接加载 淡入淡出/滑动开关 简单的折叠效果 将两个 Div 设为相同高度...然后你要做的就是,设置在 800 毫秒内回到顶部。...Hover 上的 Class 切换 如果用户的鼠标悬停在页面上某个可点击元素时,你想要改变这个元素的视觉表现。...禁用 input 字段 有时你也许想让表单的提交按钮或其文本输入框变得不可用,直到用户执行了一个特定行为(例如确认 “我已经阅读该条款” 的复选框)。...disabled 的值改为 false 时,仅需在该 input 上再运行一次 prop 方法。
9.金额值应使用正确的货币符号显示。 10.应提供默认页面排序。 11.重置按钮功能应为所有字段设置默认值。 12.所有数值均应正确设置格式。 13.应检查输入字段的最大字段值。...25.用字符输入值检查数字输入字段。将会出现正确的验证消息。 26.如果允许数字字段,请检查是否为负数。 27.检查带有十进制数字值的字段数。 28.检查所有页面上可用按钮的功能。...7.禁用的字段应显示为灰色,并且用户不应将重点放在这些字段上。 8.单击输入文本字段后,鼠标箭头指针应变为光标。 9.用户应该不能输入下拉选择列表。...8.升序和降序排序功能应适用于数据排序所支持的列。 9.结果网格应以适当的列和行间距显示。 10.当结果多于每页默认结果数时,应启用分页。 11.检查下一页,上一页,第一页和最后一页的分页功能。...3.检查页面上是否有任何具有默认焦点的字段(通常,焦点应设置在屏幕的第一个输入字段上)。 4.在关闭父窗口/打开器窗口时,检查子窗口是否已关闭。
所有你真正需要做的是在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、在新标签页
在程序包管理控制台输入如下语句,安装SignalR install-package Microsoft.AspNet.SignalR 为了便于管理,在项目中添加一个名为Hubs的文件夹,在文件夹上右键单击...--注意:这里的jQuery脚本已经在模板页_Layout.cshtml中引用--> :' + htmlEncode(message) + ''); }; //获取输入的名称...$('#displayname').val(prompt('Enter your name:', '')); //将焦点定位在信息输入框中...2.需注意的 JS在调用Hub时,Hub的首字母小写,不管后端代码是大写还是小写,JS调用时首字母均小写,除非后台Hub类上已经定义了HubName 属性(如:[HubName("ChatHub")]
(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个查询条件: ?...这里写图片描述 ---- 设置默认的上架状态 ? 这里写图片描述 在我们的页面上,是没有原始的上架状态的。...0【待审核】 对于上架状态,默认设置为1【下架】 对于销售量,默认设置为0【并没有人购买】 在Mapper中把对应的属性设置默认值。...这里写图片描述 在controller中使用EbItemClob对象,即可接收我们的大字段数据!...在对象中还有一些隐藏的属性(比如id、上下价、审核状态等),我们根据业务可以直接在SQL语句中设置即可。 大字段的数据是与商品有关联的,而且大字段的itemId在页面上是无法获取的,需要传递进去。
每一行前面加上“@:” 5)使用注释 使用@*和*@将要注释的部分包起来 6)用@@在页面上显示@ @using 在一个View中引入此页所需程序集的命名空间。...,若使用IHtmlString作为方法的返回值,则可将其回传给当前页。...} } } 使用函数 @CheckFunc(10, 12111) 2 HTML辅助方法 使用方式为@后跟辅助方法,注意没有“;”,否则分号也会显示在页面上...用于模拟http动词 Html.Id() 输出特定栏位id Html.Name() 输出特定栏位name Html.Value() 输出特定栏位value 还可以使用强类型的辅助方法,一般是以For...5页面布局 Views文件夹下_ViewStart.cshtml文件指定默认的模板,这个视图先于任何试图运行。
当自动完成开启,浏览器会基于用户之前的输入值自动填写值。 提示:您可以把表单的 autocomplete 设置为 on,同时把特定的输入字段设置为 off,反之亦然。...如果设置,则规定当页面加载时 元素应该自动获得焦点。 form 属性规定 元素所属的一个或多个表单。...如果设置,则规定允许用户在 元素中输入一个以上的值。 multiple 属性适用于以下输入类型:email 和 file。...placeholder 属性规定用以描述输入字段预期值的提示(样本值或有关格式的简短描述)。 该提示会在用户输入值之前显示在输入字段中。...如果设置,则规定在提交表单之前必须填写输入字段。
captcha/check') }}", type: "post" } } }, messages:{} }); }); 提示信息 点击提交按钮后验证不通过的会自动在...remote: "请修正该字段", email: "请输入正确格式的电子邮件", url: "请输入合法的网址", date:...,设置messages字段即可 messages:{ 'data[username]': { required: '请输入用户名', minlength:...required: "请输入验证码", minlength: "验证码输入错误", remote: "验证码输入错误" } } 常用设置 debug:开启调试...onfocusout:失去焦点验证,上例中是失去焦点就验证,不需要点击submit按钮。 errorElement: 用来指定错误提示标签,默认为label。
3.6 Form 表单组件Form 表单组件可以将各种表单元素(如输入框、下拉框、复选框等)组合在一起,形成一个完整的表单,用户可以在表单中输入信息并提交给服务器进行处理。...我们还设置了分页按钮的布局,包括列表、分隔符、首页、上一页、页码链接、下一页、尾页、分隔符和刷新按钮。...用户可以在页面上看到用户列表,点击“Add User”按钮可以弹出添加用户的对话框,输入用户信息后点击“Save”按钮即可将用户信息保存到后端数据库中。...用户可以在页面上选择不同类型的图表(柱状图、折线图、饼图),然后点击对应的按钮,页面就会加载相应类型的模拟数据并绘制图表。...用户可以在页面上看到任务列表,点击工具栏按钮可以弹出添加或编辑任务的对话框,输入任务信息后点击保存按钮即可将任务信息保存到后端数据库中,同时也可以删除已有的任务。
**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 }); ```
2017-01-12 03:19:31 本文将介绍jquery DataTable的一些基础配置,如分页、排序、过滤等,代码如下 $(document).ready(function() { $('...当开启分页功能后,jquery DataTable将会在页面上将表格进行分页处理,此分页的方式与后台无关,只需要在初始化之前将数据填充到表格当中,然后进行表格初始化操作,之后插件会自动对表格进行分页处理...它可以在当用户输入每个字符时进行表格全文字段搜索,搜索出相关的信息展示出来,同时进行分页处理。...1.4排序功能 通过设置排序功能后用户可以在点击表头时进行排序处理,例如某列为价格信息,那么点击价格列后,插件会自动根据价格进行排序,可进行升序和降序排序。...null或者为“bSortable”:true,不需要进行排序的设置为“bSortable”:false,该方法的弊端为必须要知道表格有多少列,否则会报错。
跳转到特定标签页 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
+ 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 键的同时向下滚动鼠标滚轮
丰富的应用程序的标志之一是缺少页面重新加载和减少页面导航。例如,您在表单上输入数据,然后单击“提交”按钮。没有明显的等待响应。这是因为是使用了Ajax技术将数据传输到服务器并在后台接收响应。...工作单元可以是发票输入,其中发票输入的所有功能在一个页面上可用:创建,更新,删除和查询。我们将看到RichFaces如何能够大大降低复杂性并加速此类丰富应用程序的开发。...他们可以接受: 要渲染的空格分隔的组件列表 @form - 提交在其嵌入的表单中定义的所有字段 @this - 组件本身内声明的区域或组件 @none - 不渲染页面的任何部分 @all - 渲染页面上的所有组件...快速入门演示了使用jQuery在注册新成员时显示消息。 如何在页面上放置一个组件,例如列出当前库存的表格,并在库存发生变化时自动更新,即使库存交易不是来自你? 使用RichFaces推送。...RichFaces推送组件适用于基于JMS或CDI事件的数据源。 页面上的RichFaces组件充当服务器上发生的事件的侦听器。 我们将审查基于CDI事件的组件版本。
它发生在当前获得焦点的元素上。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...说明:在选择元素上绑定一个或多个事件的事件处理函数。...如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。...(off) 语法:off(events,[selector],[fn]) 如果一个简单的事件名称,比如提供"click",所有 这种类型的事件(包括直接和委派)从jQuery设置的元素上删除。
前言 这是前端的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[数字]来获取数据,由对象变来的话
); 作用 访问和操作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" ) 选取所有隐藏的元素 最后两个一般不作为设置样式只做显示或者隐藏的修改
领取专属 10元无门槛券
手把手带您无忧上云