jqGrid参数传递bug


出现原因###

//第一次查询时参数
var param = {userNo:111,userName:222,depId:1};

//第二次查询是参数
var param = {userNo:111,userName:222};

//执行方式,通过setGridParam
if(curPage.JqGridtable != undefined){
    curPage.JqGridtable.jqGrid("setGridParam",{url:url,postData:param}).trigger("reloadGrid");
}else{
    ......      
}

//最后第二次执行条件仍然为
var param = {userNo:111,userName:222,depId:1};

源码分析###

//源码中setGridParam方法有参数overwrite,当overwrite为true时,参数才会覆盖之前的;否则不覆盖    
setGridParam : function (newParams, overwrite){
    return this.each(function(){
        if(overwrite == null) {
            overwrite = false;
        }
        if (this.grid && typeof newParams === 'object') {
            if(overwrite === true) {
                var params = $.extend({}, this.p, newParams);
                this.p = params;
            } else {
                $.extend(true,this.p,newParams);
            }
        }
    });
},

解决办法###

//执行方式,增加参数overwrite为true
if(curPage.JqGridtable != undefined){
    curPage.JqGridtable.jqGrid("setGridParam",{url:url,postData:param},true).trigger("reloadGrid");
}else{
    ......      
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,827评论 25 709
  • 本文翻译自 http://www.amibug.com/iamabug/p01.html 非常有趣,同时能够学习到...
    豪哥的世界阅读 2,416评论 0 9
  • 一个人的空间,似乎孤单,却仿佛充实;一个人的季节,似乎萧条,却好似繁华;一个人的路,似乎寂寞,却好像洒脱。 ...
    8debb91bc930阅读 297评论 0 0
  • 看了半晚上手机。纠结的思绪依旧。不踏实的感觉,真难以形容。
    白杨树在北方阅读 130评论 0 1
  • 指定可选配置 您可以在模块级 build.gradle 文件的 defaultConfig {} 块中配置另一个 ...
    2远阅读 16,258评论 0 2