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