【发布时间】:2017-03-13 04:05:50
【问题描述】:
我有javascript函数对象EmployeeClass。此对象的字段由硬编码属性映射。
在 jqgrid jqGridAddEditAfterSubmit 上绑定了一个事件。在此函数中,我能够读取 json 字符串对象,该对象表示正在更新/添加的行。
json 字符串表示如下:
{
"Id":"xxx",
"FirstName":"Mr. B",
"LastName":"Ross",
...
}
函数对象定义:
//EMPLOYEE
function EmployeeClass(empJson){
this.Id = empJson.Id;
this.FirstName = empJson.FirstName;
this.LastName = empJson.LastName;
...
...
}
绑定函数内部使用的代码示例如下:
$("gridid").bind("jqGridAddEditAfterSubmit", function (e, rowid, event) {
var rowData = ...
..
..
//construct object for server
var oObject = new EmployeeClass(rowData);
//CALL SERVER SIDE API for store
SERVERREMOTE.call(oOject,'saveEmployee',...);
});
问题
如果没有动态添加字段,上面的代码效果很好。意思是,服务器端可以添加自定义字段,这些字段会动态添加到 jqgrid 中,它可以很好地管理显示/编辑/添加功能。但是,我现在的问题是,如何将我的EmployeeClass 对象提交到具有动态添加属性的服务器?我需要一些如何在我的绑定函数jqGridAddEditAfterSubmit 中扩展我的EmployeeClass,以便捕获 jqgrid 传递的所有属性并转换为EmployeeClass
希望这种情况能解释我的问题。这完全是关于在运行时动态扩展 javascript 函数对象。
回答
【问题讨论】:
-
没有像 "json object" 这样的东西——JSON总是是一个字符串,或者它不是 JSON。
-
你明白我的问题了吗?不理解这个问题,高声誉的人怎么能在没有正当理由的情况下投反对票?
-
我不明白你的问题,也不是minimum, complete, verifiable example——所以我否决了它并投票决定将其关闭为“不清楚你在问什么”,因为......目前还不清楚你在问什么。我的名声与此无关。
-
在这种情况下,您应该要求更详细的解释。
-
教你how to ask a good question实际上不是我的责任——相关:rubber duck debugging正在向橡皮鸭详细解释你的问题。这个想法是,完全彻底地解释你的问题的行为通常会解决问题。您的问题使用了不正确的术语、不完整的代码粘贴、不良格式和拼写错误。您表现出最小的努力来寻求帮助,但期望得到高质量的答案。我很失望。
标签: javascript jquery jqgrid free-jqgrid