我得到了一个从 ajax 调用创建的产品列表。此列表显示产品的名称和产品编号。现在我想通过单击产品列表中的列表元素将产品添加到表单中。
我使用的是spring mvc,所以表单使用了一个需要填充表单数据的支持对象。我要添加的产品需要包含在支持对象的列表中。
在表格中我还想计算总价。所以我需要比产品列表中更多的信息。
我宁愿不将它作为 json 发布到后端,而只是使用@ModelAttribute。
在列表中单击时,是否可以以某种方式将完整的对象(产品)提供给表单?
希望我已经很好地解释了自己,否则就问吧。
以下是源代码:
$(document).ready(function() {
$.getJSON('/oms/ajax/products', function(data) {
$.each(data, function(key, obj) {
$('#productList').append('<li onclick=\"addProduct(' + obj.productName + ')\">' + obj.productName + '</li>');
});
});
});
function addProduct(name) {
$('#orderItems').append('<li><input type=\"text\" name=\"order.lineItems[i]\" value=\"' + name + '\" /></li>');
}
public class OrderDTO {
private List<OrderItemDTO> lineItems;
/** getters and setters **/
}
public class OrderItemDTO {
private String productCode;
private String productName;
private String description;
private Float price;
private Integer quantity;
/** getters and setters **/
}