我试图做一些“运行总计”的计算,这是我的代码:
$('.quantity_input').live('change',function(){ var ValOne = parseFloat($(this).val()); var ValTwo = parseFloat($(".price").text()) var totalTotal = ((ValOne) * (ValTwo)); $('.cost_of_items').closest('.cost_of_items').text(totalTotal.toFixed(2)); calcTotal(); });
.quantity_input是一个输入,.price是产品的价格,.cost_of_items是我要更新项目的总成本,即。 item1 =£5 x 3 quantity =£15 total for item1
calcTotal()是一个只更新订单总成本的函数。问题是保持所有的数学在表的一行,即我在上面的代码执行计算,它不坚持其行,更新所有的字段与类.cost_of_items等…
显示我的html的问题是它动态添加的jQuery .appends(),但这里是相关的jQuery:
$('#items').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td class="om_part_no">' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td class="description">' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td><p class="add_edit">Add/Edit</p><input type="text" class="quantity_input" name="quantity_input" /></td><td class="price_each_nett price">' + priceEach + '</td><td class="cost_of_items"></td><td><p class="add_edit">Add/Edit</p><input type="text" class="project_ref_input" name="project_ref_input" /><p class="project_ref"></p></td></tr>');
编辑:
工作解决方案:
$('.quantity_input').live('change',function(){ var ValOne = parseFloat($(this).val()); var ValTwo = parseFloat($(this).closest('tr').find('.price').text()) var totalTotal = ((ValOne) * (ValTwo)); $(this).closest('tr').find('.cost_of_items').text(totalTotal.toFixed(2)); calcTotal(); });
解决方法
您需要在< tr>中找到.cost_of_items。包含:
$(this).closest('tr').find('.cost_of_items')