在我的购物车中,我的代码每次根据用户的选择产生类似下面的结构。每个 tr 用于产品, x 表示基于产品的不同值, id 是product的ID。索x,ID和数量每次都不一样。
<tr>
<td><span class="product-id" value="x"></span></td>
<td><img class="product-img" value="x" /></td>
<td><a class="product-name" value="x"></a></td>
<td><span class=product-color value="x"></span>
<td><select class="qnty-id" value="x"></select></td>
<td><span class="price-id" value="x"></span></td>
<td><span class="total-id" value="x"></span></td>
</tr>
我想以数组或Json格式收集它们,如下所示:
array(x => array(
'id'=>'product-id',
'name'=>'product-name',
'color'=>'product-color',
'quntity'=>'qnty-x',
'price'=>'price-x',
'total'=>'total-x')
)
使用Ajax将它们发送到我的服务器端。 我很感激任何帮助。
答案 0 :(得分:1)
将您的表格ID视为表格,请尝试以下操作:
var table = $('#table');
var elems = table.find('tr');
var cartArray = [];
elems.each(function (i, item) {
var itemSelector = $(item);
var id = itemSelector.find('.product-id').attr('value');
var img = itemSelector.find('.product-img').attr('value');
var name = itemSelector.find('.product-name').attr('value');
var color = itemSelector.find('.product-color').attr('value');
var quantity = itemSelector.find('.qnty-id').val();
var price = itemSelector.find('.price-id').text();
var total = itemSelector.find('.total-id').text();
cartArray.push({id: id, img: img, name: name, color: color, quantity: quantity, price: price, total: total});
});
console.log(cartArray);