在JSON中创建一个数据对(不是字典,而是两个独立的数据)



我有一个带有以下HTML表的应用程序(使用以下代码动态添加:

function generateTableRow() {
var emptyColumn = document.createElement('tr');
emptyColumn.className ='data';

emptyColumn.innerHTML = '<td><a class="cut">-</a><span class="itemcode" contenteditable></span></td>' +
    '<td colspan="2"><span contenteditable></span></td>' +
    '<td><span contenteditable>100.00</span></td>' +
    '<td><span contenteditable></span></td>' +
    '<td><span class="itemquantity" contenteditable></span></td>'+
    '<td><span contenteditable></span></td>' +
    '<td><span contenteditable></span></td>'+
    '<td><span contenteditable></span></td>' +
    '<td><span contenteditable></span></td>' +
    '<td><span contenteditable></span></td>' ;

return emptyColumn;
}

现在有一个保存按钮,点击后会执行以下操作:

$( ".save" ).on("click", function(){
alert("Clicked");
$("tr.data").each(function() {
    var code = $(this).find('td:nth-child(1) span').html();
    var quantity = $(this).find('td:nth-child(4) span').html();        
 });
});

我需要同样的东西来将带有json数据的AJAX发送到服务器。

我的疑问是如何创建一个json对象,使用代码和数量对。

这里的代码是产品代码,数量是产品数量。所以,如果有四行是动态生成的,那么就会有四个代码和数量对。如何创建这样的对作为json数据发送到后端(我使用的是Django,尽管这并不相关)。

因此,我的JSON应该看起来像:

[{"itemcode":"code1","itemquantity":"quantity1"},{"itemcode":"code2","itemquantity":"quantity2"},...]

您应该创建一个对象并将其作为模型发送到服务器。。。

首先,您应该在每个循环之前创建一个列表

var items = [];

在每个循环中,你应该定义对象,填充它,然后推送项目

var item = {
 item.Code : $(this).find('td:nth-child(1) span').html(),
 itemQuantity : $(this).find('td:nth-child(4) span').html()        
};
items.push(item);

最新更新