微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

构造后如何在jqgrid中设置postData?

如何解决构造后如何在jqgrid中设置postData?

| 我从传递给视图的模型类生成jqgrid。我开始构建并工作了jqgrid。但是,我想在调用helper创建jqgrid之后,在该视图的脚本中使用jqgrid一个视图上设置postData,而不必更改创建jqgrid的整个局部视图。 我尝试跑步
$(\"#@Model.Id\").jqgrid(\'setGridParam\',{ postData: { test: 233} });
$(\"#@Model.Id\").setGridParam({ postData: { test: 233} });
但没有错误或任何结果。如果我在jqgrid参数中设置postData(在构造它的局部视图中,它将起作用。 我还检查了网格是否存在,添加
console.log($(\"#@Model.Id\").size());
第一行之前,它显示1。 更新:此.setGirdParam函数开始为我运行的原因没有明显的原因,因此,如果有人可以提供一些见解可以阻止此工作,则我将接受答案。 谢谢     

解决方法

        您没有在问题中包括jqGrid的定义,也看不到called3的调用位置。首先,应该在创建jqGrid之后但在发送请求之前使用ѭ3。如果要更改“ 5”,则下一个jqGrid请求可以使用新参数。所以通常使用
$(\"#@Model.Id\").trigger(\'reloadGrid\',[{page:1}]);
看这里。 我想最好的选择是将
postData
的函数
test
属性用作该函数:
$(\"#@Model.Id\").jqGrid({
    // ... other jqGrid parameters ...
    postData: {
        test: function() {
            // the code can by dynamic,read contain of some elements 
            // on the page use \"if\"s and so on and return the value which 
            // should be posted to the server
            return 233;
        }
    }
    // other jqGrid parameters ...
});
有关详细信息,请参见此处。这样,您几乎可以实现任何方案。 顺便说一句,如果您不希望jqGrid在事件发生之前将任何请求发送到服务器,则可以在初始化时使用
datatype:\'local\'
。然后,如果要填充网格,可以使用
setGridParam
datatype
\'local\'
更改为
\'json\'
(或
\'xml\'
),然后调用
.trigger(\'reloadGrid\',...)
。     ,        
$(\"#grid id\").setGridParam({ postData: {data:dataval} });
$(\"#grid id\").trigger(\'reloadGrid\',[{page:1,data:dataval}]);ntn
    ,        这是我使用的方法
postData: { \'testKey\': function () { return \'testvals\'; } },
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。