我有一個顯示在屏幕上的發票列表。現在,用戶可以選擇或取消選擇一個複選框的發票或更改他們想要支付的金額。發生這種情況時,將彙總並顯示所有發票的總金額。在jquery中修改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對象,然後將其保存回隱藏字段?這甚至可能還是有更好的方法?我接受建議。