Javascript 如何在jqgrid中清除网格参数?

Javascript 如何在jqgrid中清除网格参数?,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,如果我设置了jqgrid参数,然后又想用新的参数重置参数,而不附加旧的参数,我该如何实现呢 比如说: Step 1: jQuery("#list").setGridParam({url:"testJsp.jsp", mtype: "POST", postData:{xyz: '23fd', asd: 'were' }

如果我设置了jqgrid参数,然后又想用新的参数重置参数,而不附加旧的参数,我该如何实现呢

比如说:

Step 1: jQuery("#list").setGridParam({url:"testJsp.jsp",
                    mtype: "POST", 
                    postData:{xyz: '23fd', 
                              asd: 'were' }
                    });

Step2: jQuery("#list").setGridParam({url:"testJsp.jsp",
                mtype: "POST", 
                postData:{ert: 'trer', 
                          ghj: 'rew' }

                });
现在,当我这样做时,“步骤2”结束时,我总共有4个参数,包括“步骤1”中的参数。但我不想要这个。在“步骤2”之后,我只想知道“步骤2”的参数


是否有办法清除“步骤1”和“步骤2”之间的网格参数?

在设置新值之前,您可以使用
GridUnload
方法清除网格。如果url和mtype的值不变,则不必重新定义它们

jQuery("#list").setGridParam({postData: null});

jQuery("#list").setGridParam({postData: 
   {ert: 'trer', 
    ghj: 'rew' }
});

表达式
jQuery(#list”).jqGrid('getGridParam','postData')
引用到表示
postData
的对象。因此,您可以像处理对象一样使用它,并在需要或不需要这些属性时添加或删除属性:

var myGrid = jQuery("#list"),
    myPostData = myGrid.jqGrid('getGridParam', 'postData');

// next two lines are equivalent to
//    myGrid.jqGrid('setGridParam', 'postData', {xyz: '23fd', asd: 'were' });
myPostData.xyz = '23fd'; 
myPostData.asd = 'were';
...
delete myPostData.xyz;
delete myPostData.asd;
...
// next two lines are equivalent to
//    myGrid.jqGrid('setGridParam', 'postData', {ert: 'trer', ghj: 'rew' });
myPostData.ert = 'trer'; 
myPostData.ghj = 'rew';
...

我不想破坏电网。我只想清除将发送到服务器的旧网格参数,并用新参数设置它。目前,所有的参数都在发送,新的和旧的。我在我的应用程序中有类似的要求,这是我觉得更可行的方法,可能有人会有更好的答案。。。可以再次卸载和重新加载网格。只是尝试一下。。所以说重新加载,你的意思是重新构建整个网格?这会对性能造成一些影响,你不认为吗。@Harke the
GridUnload
将卸载网格,但保留表不变。。。因此,您只需添加行数据,setGridParam方法更新现有postData数组时也会遇到同样的问题。我不想完全重置postData,所以我使用此解决方案来设置新的数组数据。工作得很有魅力@安图:我很高兴能帮助你。不客气!