今天做项目的时候发现一个问题,我们有一个筛选项,一个是VIP用户,一个是普通用户,还有一个是全部用户,首先看下我们的selection

<select name="" id="user_type">
<option value="">全部</option>
<option value="1">VIP</option>
<option value="2">普通</option>
</select>

非常常用的一种格式,然后我们会做一个判断

 var jqgrid_post_data = {};//最终向jqgrid传输的json数据
if($("#user_type").val()){ //如果有值的话,给json复制
jqgrid_post_data["user_type"] = $("#user_type").val();
}
jQuery("#table_list_1").jqGrid("clearGridData");
$("#table_list_1").jqGrid('setGridParam', { //重新请求参数
postData:jqgrid_post_data ,
page:this_page,
}).trigger("reloadGrid");

但是这个我们发现了一个问题,就是在我们从vip和普通用户切换到全部数据之后,查询的还是上次的数据。

  比如说我查了一次VIP的用户数据,然后我切换到了全部用户,这个时候jqgrid还是查询的VIP的用户,但是我们打印 jqgrid_post_data 的时候,这个里面是没有user_type属性的。经过查找,发现了是jqgrid缓存了参数。结果办法分为两种,一种是比较简单的,当我们选择全部用户的时候,把user_type设置为空

 jqgrid_post_data["user_type"] = '';

  第二种方法是看其他的博客了解到的,就是在reloadGrid之前,执行下面的函数,

 var postData = $('#jqGrid').jqGrid("getGridParam", "postData");
$.each(postData, function (k, v) {
delete postData[k];
});

就是把原来的参数清理掉,然后在重新加载一遍数据。

 这两种办法,本人都是亲测过的,都是好用的。个人觉得,第二种比较通用,大家可以把第二种方法封装成函数,然后在jqgrid获取数据的时候,先调用这个函数。清理掉原来的数据,这样比较通用,比较简单。

jqgrid postData post方式累加参数,缓存了原来的数据的更多相关文章

  1. 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]

    当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据 ...

  2. Tomcat应用中post方式传参数长度限制

    Tomcat应用中post方式传参数长度限制 jsp页面上是没有限制的,但是在tomcat服务器上有限制,Tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostS ...

  3. 两种利用GCD实现分步获取结果的方式和SDWebImage缓存机制的验证

    前段时间写界面,因为数据的请求分成了两部分,所以用到了多线程,实现数据的分步请求,然后自己写了一个Demo,用两种方式实现分步获取内容,其中也包含了验证SDWebImage这个库的缓存机制,在这里给大 ...

  4. Vue-Router路由Vue-CLI脚手架和模块化开发 之 使用props替代路由对象的方式获取参数

    在上一章博文中使用路由对象$route获取参数时,组件和路由对象耦合,在这篇博文中就可以使用props来进行解耦: 1.在组件中使用props选项定义数据,接收参数: 2.在路由中,使用props选项 ...

  5. NameValuePair方式传参数

    今天工作中联调外部的一个接口用post方式传输,我按照文档封装参数成Jason字符串传入,但是对方一直接受参数为空,折腾了半天也没找到问题.很苦恼,检查代码都没有错误,可是为什么对方接受参数为空呢?然 ...

  6. php 对象方式传入参数

    类是单例模式,对象方式传入参数,如果参数过多是,使用形参容易混乱 class Object { /** * 基本配置信息 * @var array */ private $config = array ...

  7. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  8. delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

    //delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,whi ...

  9. 详解vue 路由跳转四种方式 (带参数)

    详解vue 路由跳转四种方式 (带参数):https://www.jb51.net/article/160401.htm 1.  router-link ? 1 2 3 4 5 6 7 8 9 10 ...

随机推荐

  1. Python3 urllib.request库的基本使用

    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...

  2. 读《图解HTTP》有感-(简单的HTTP协议)

    写在前面 该章节主要是针对HTTP1.1版本进行基础的讲解 正文 HTTP协议能做什么: http协议用于客户端和服务端之间的通信 HTTP协议通信方式: http协议是基于请求响应的方式来实现消息通 ...

  3. 【转】MySQL int转换成varchar引发的慢查询

    转自http://www.cnblogs.com/billyxp/archive/2013/05/31/3110016.html 最近一周接连处理了2个由于int向varchar转换无法使用索引,从而 ...

  4. python函数调用的四种方式 --基础重点

    第一种:参数按顺序从第一个参数往后排#标准调用 # -*- coding: UTF-8 -*- def normal_invoke(x, y): print "--normal_invoke ...

  5. SpringData ES中一些底层原理的分析

    之前写过一篇SpringData ES 关于字段名和索引中的列名字不一致导致的查询问题,顺便深入学习下Spring Data Elasticsearch. Spring Data Elasticsea ...

  6. app后端设计(7)-- 项目管理

    移动互联网行业是个快速发展的行业,需求不断变化,产品更新快.基于移动互联网的以上特点,在开发产品的过程中,我们放弃了传统的瀑布流开发模型,引入了精益的理念和scrum这个敏捷开发框架,下面谈谈实施过程 ...

  7. ImageMagick简介、GraphicsMagick、命令行使用示例

    http://elf8848.iteye.com/blog/382528 ImageMagick资料 ------------------------------------------------- ...

  8. 关于基线baseline及与inline-block、vertical-aline等属性的关系(完善中.......)

    1. 基本含义 基线(base line):而是英文字母x的下端沿,是a,c,z,x等字母的底边线,并不是汉字文字的下端沿,.下图的红色线即为基线.凡是涉及到垂直方向的排版或者对齐的,都离不开最最基本 ...

  9. Python3 randrange() 函数

    描述 randrange() 方法返回指定递增基数集合中的一个随机数,基数缺省值为1. 语法 以下是 randrange() 方法的语法: import random random.randrange ...

  10. ATOM系列之-atom报错"Cannot load the system dictionary for zh-CN"

    atom报错"Cannot load the system dictionary for zh-CN" 想必很多人(程序猿&程序媛)都和我一样,喜欢的这款很拉风的代码编辑器 ...