jqGrid以setGridParam方式postData,包含历史数据的问题
系统在使用jqGrid时,如果某些页面的查询项是复选框,后台是数组接收的,就会出现传值不正确问题。
1、项目中某查询页面存在的复选框:
待处理S1,正在处理S2,已处理S3;
使用jqGrid提交查询数据方法如下:
datatype : "json",
postData: {
"id" : $("#id").val(),
"nodeStatus" : checkBoxValues("nodeStatus")
}
}).trigger("reloadGrid", [{ page: 1}]);
2、该问题调查如下:
postData: id:123456 , nodeStatus : [S0]
第二次传值:id传1234567,勾选正在处理
postData:id :1234567 , nodeStatus : [S1]
第三次传值:勾选待处理、正在处理
postData:nodeStatus : [S0, S1]
第四次传值:勾选待处理、已处理
postData:nodeStatus : [S0, S2]
第五次传值:勾选待处理、正在处理、已处理
postData:nodeStatus : [S0, S1, S2]
第六次传值:勾选正在处理、已处理
postData:nodeStatus : [S1, S2, S2]
第七次传值:勾选待处理、已处理
postData:nodeStatus : [S0, S2, S2]
第八次传值:勾选已处理
postData:nodeStatus : [S2, S2, S2]
不难发现,它会启用上次提交的历史数据,并将本次提交的数据对应替换,如果是单个值还好,如果是数组那么就会出现问题。
3、解决该问题方式:
A、在jqGrid内使用serializeGridData 事件,此事件返回一个要传到后台的序列化数据,这里进行重新赋值后返回发到后台:
B、简单粗暴的方法,每次请求前都将历史数据清除掉:
var postData = $("#xxTable").jqGrid("getGridParam", "postData");
$.each(postData, function (k, v) {
jqGrid以setGridParam方式postData,包含历史数据的问题的更多相关文章
- Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.ArrayList; import java.util.List; /** * @A ...
- Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...
- java web项目启动进入首页的配置方式(包含过滤跳转首页实现)
本文为博主原创,未经允许不得转载: 项目启动成功,进入首页的方式,我们往往在web.xml 中通过以下的方式默认进入跳转首页, <welcome-file-list> <welcom ...
- App自动化之dom结构和元素定位方式(包含滑动列表定位)
900×383 38 KB 先来看几个名词和解释: dom: Document Object Model 文档对象模型 dom应用: 最早应用于html和js的交互.界面的结构化描述, 常见的格式为h ...
- dagger2系列之依赖方式dependencies、包含方式(从属方式)SubComponent
本篇是实战文章,从代码的角度分析这两种方式.本文参考自下列文章: http://www.jianshu.com/p/1d42d2e6f4a5 http://www.jianshu.com/p/94d4 ...
- JQuery插件之【jqGrid】常用语法整理
jqGrid常用语法整理,包含数据获取.常用函数.触发事件等 jqGrid表格数据获取相关语法 获取表格所有数据 $("#grid").jqGrid("getRowDat ...
- jqGrid行编辑配置,方法,事件
行编辑可以在行修改后更新数据,如下图所示 用户用鼠标点击选择一行,jqGrid将可编辑的字段转换为数据输入单元,如上面图所示.不可编辑的列,如id,不会转为可输入单元,而是保持不变.可以通过配置col ...
- 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]
当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据 ...
随机推荐
- H3C 多路径网络中环路产生过程(2)
- H3C 路由表查找规则(1)
- 程序员必备神器(FastStoneCapture)
工欲善其事,必先利其器. 作为程序员,如果我们不知道如何制作动态图或者快捷录屏.录视频等,会给人一种身怀不技的感觉:好!屁话少说,接下来我会废话连篇的介绍一款神器--------那就是FastSton ...
- 2018-2-13-手机1520-win8.1升级win10
title author date CreateTime categories 手机1520 win8.1升级win10 lindexi 2018-2-13 17:23:3 +0800 2018-2- ...
- 关于git命令
1在自己电脑上生成一个密钥然后给老大,老大在github上设置后,你这台电脑才可以访问他的项目ssh-keygen -t rsa -C <邮件名称> ------->获取秘钥 cat ...
- CentOS 7 修改root密码
1.开机,在启动菜单上选择CentOS Linux (3.10**.**.x86**) 7 (Core) 按下e,进入编辑模式2.将光标一直移动到 LANG=en_US.UTF-8 后面(如果找不到, ...
- C++重载、覆盖与隐藏——转载
http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html 成员函数的重载.覆盖与隐藏成员函数的重载.覆盖(override)与隐藏很容易混 ...
- Python正则表达式之findall疑点
在findall中使用()进行分组时,得出的结果会优先提取分组的,比如下面这个例子 In [46]: re.findall(r"www.(baidu|163).com", &quo ...
- 我们基于kaldi开发的嵌入式语音识别系统升级成深度学习啦
先前的文章<三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的>说我们花了不到三个月的时间搭了一个基于kaldi的嵌入式语音识别系统,不过它是基于传统的GMM-HMM的 ...
- 利用python第三方库提取PDF文件的表格内容
小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...