我有一个带有以下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);