私は、画面に請求書のリストを表示しています。現在、ユーザは、チェックボックスを使用して請求書を選択または選択解除するか、支払いを希望する金額を変更することができます。この場合、すべての請求書に支払われる総額が合計され表示されます。jquery内のjsonコレクションを変更する
最終的な目標は、サーバーからのデータの配列を追跡することです。 jsonが標準化されているので、私はjsonを使用しています。
その後、私はそうのようなJSONデータを非表示になっています:今
<input id="InvoicingGridRows" name="InvoicingGridRows" type="hidden"
value="[[{"Value":"TST-1000"},{"Value":346.230000},
{"Value":null},{"Value":null},{"Value":null},
{"Value":null}],
[{"Value":"TST-1001"},
{"Value":126.970000},{"Value":null},{"Value":null},
{"Value":null},{"Value":null}]]" />
、データはデータ用の空のプレースホルダをたくさん持っています。
私がしようとしているのは、イベントが発生して合計が発生すると、ターゲットの編集/削除/追加を開始できるように、javascriptオブジェクトを作成することです。ここまで私がこれまで持っていたもの。
var invoiceRows = function() {
var targetControl = '';
var getByInvoiceId = function (invoiceId) {
var data = $(targetControl.val());
for (var x = 0; x < data.length; x++) {
if (data[x][0].Value == invoiceId)
return data[x];
}
return null;
};
return {
init: function (selector, invoices) {
targetControl = $(selector);
//set up the gridrows to defaulted values
targetControl.val(invoices);
},
save: function (invoiceId, amount) {
var invoiceData = getByInvoiceId(invoiceId);
if (invoiceData) {
//update
} else {
//add new
}
},
remove: function (invoiceId) {
//remove row with invoiceid
}
}
}();
私の質問は、私は簡単に変更はどうすればよいです/行を削除するだけでなく、私のJSONオブジェクトに新しい行を追加し、隠しフィールドに戻ってそれを保存しますか?それは可能なのでしょうか、それとも良い方法がありますか?私は提案に開放されています。