在JSON中创建数据对(不是字典,但是两个单独的数据)

时间:2016-04-10 06:43:10

标签: javascript jquery json ajax django

我有一个带有以下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"},...]

1 个答案:

答案 0 :(得分:0)

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

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

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);