私はjavascript関数オブジェクトEmployeeClass
を持っています。このオブジェクトのフィールドは、ハードコーディング属性によってマップされます。jqueryを使用して新しい属性を追加するjavascript関数オブジェクトを拡張する方法は?
イベントは、jqgrid jqGridAddEditAfterSubmit
でバインドされます。この関数の中で、私は行が更新/追加されていることを示すjson stringオブジェクトを読むことができます。 JSON文字列は、次のようなものを表している。
{
"Id":"xxx",
"FirstName":"Mr. B",
"LastName":"Ross",
...
}
Functionオブジェクトの定義:
//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',...);
});
質問
フィールドが動的に追加されない場合、上記のコードはうまくいきます。つまり、serversideはカスタムフィールドを追加することができ、これらのフィールドは表示/編集/追加を機能的に美しく管理するjqgridに動的に追加されます。しかし、私の問題は、動的に追加された属性を持つサーバに私のEmployeeClass
オブジェクトを提出する方法です。私は私がjqgridから渡されたすべての属性をキャプチャし、このシナリオでは、私の問題を説明しEmployeeClass
希望に変換するように私の結合機能jqGridAddEditAfterSubmit
内の私のEmployeeClass
を拡張する方法をいくつかが必要です。これは、実行時に動的にjavascript関数オブジェクトを拡張することに関するものです。
ANSWER
https://jsfiddle.net/SalesforceDev/cwaek2Ly/
JSONは*常に*文字列であるか、JSONではありません。 – naomik
あなたは私の質問を理解しましたか?どのように高い評判の人が正当な理由なしに投票を行うことができますか? –
私はあなたの質問を理解していないし、[完全な、検証可能な例でもない](http://stackoverflow.com/help/mcve) - 私はそれを投票し、 "あなたが求めているのは、あなたが何を求めているのかは不明だからです。私の評判はそれとは関係ありません。 – naomik