首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使saveRow函数在jqGrid中等待editRow函数

如何使saveRow函数在jqGrid中等待editRow函数
EN

Stack Overflow用户
提问于 2016-04-06 07:23:18
回答 1查看 516关注 0票数 0

我试图使jqGrid添加功能适应我自己的目的。我有一个navButton,我想做一个特定的行为:

  1. 当用户单击该按钮时,在编辑模式下的新行将出现在网格上。
  2. 当用户键入数据并单击enter时,则将数据发送到服务器。

现在,我的代码如下所示:

代码语言:javascript
运行
复制
 .navButtonAdd("#${pagerId}", {
                caption: "${resolveMessage('assign')}", 
                buttonicon: "ui-icon-add", 
                onClickButton: function() {
                 if (assignMode == false){
                    assignMode = true;
                    $('#${tableId}').jqGrid('addRowData', 0, {});
                    $('#${tableId}').jqGrid('editRow', 0);
                    $('#${tableId}').jqGrid('saveRow', 0, function(){ assignMode = false; }, "${assignURL}"); 
                 }
                },
                position:"last"
            })

我的问题是,saveRow函数没有等待editRow的结束。它在单击按钮后立即将空数据发送到服务器。如何使saveRow等待类型化的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-06 08:56:09

我建议您使用inlineNav,而不是自己重新实现相同的功能。例如,当前代码对每个添加的行使用相同的rowid 0,这非常糟糕。此外,您调用editRow时没有任何其他选项,然后在editRow之后立即调用saveRow,这会强制使用可能错误的数据保存空行。保存可能在验证期间失败。

此外,我建议您考虑使用在MIT或GNU GPLv2许可下免费提供的自由jqGrid,而不是使用商业Guriddo jqGrid JS (参见价格这里)。自2014年底以来,我开发了免费的jqGrid叉(岗位之后简称),并实现了很多修复、改进和新特性,这些功能很快就会在每个已发布版本的readmes、wiki文章以及我当时发布的steckoverflow上找到答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36444179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档