我们如何清除jqgrid中的网格参数?

时间:2011-09-22 14:22:49

标签: javascript jquery jqgrid

如果我设置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”之间的网格参数?

3 个答案:

答案 0 :(得分:8)

在设置新值之前将postData设置为null。如果url和mtype没有更改,则不必重新定义url和mtype的值。

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

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

答案 1 :(得分:4)

表达式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';
...

答案 2 :(得分:1)

您可以使用GridUnload方法清除网格