我在网站上显示了可用于购买的商品表。我正在使用mysql来获取所有项目并将它们显示在表格中。其中,该表包含:
<input type="hidden" name="price" id="price'.$id.'"> //id is one part of MySQL query results
<input type="text" name="count_'.$id.'">
所有这些都显示为大约200个项目,ID不完全按顺序排列(我找到了一些使用for (i = 0; i < rows.length; i++) {}
的JavaScript代码,但是,由于我的ID不在序列中,这不是一个好的选择我)。
我想使用JavaScript显示总订单,而且我对JS没有经验。我非常感谢你的建议。
答案 0 :(得分:1)
你可以使用jQuery
:
function orderTotal()
{
var total=0;
$('input[name="price"]').each(function(){
var price = parseFloat($(this).val());
var amount = parseFloat($('input[name="count_'+$(this).attr('name').substring(5)+'"]').val());
total += price+amount;
});
return total;
}
答案 1 :(得分:0)
我建议你将它们包装在另一个元素中,让我们使用div
。添加一个类,让我们说moneyline
<div class="moneyline">
<input class="price" type="hidden" name="price" id="price'.$id.'"> //id is one part of MySQL query results
<input class="quantity" type="text" name="count_'.$id.'">
</div>
我将使用jQuery提供示例,并使用一些按钮来触发它:
$('#someButton').on('click', function(){
var total = 0;
$('.moneyline').each(function(){
var price = parseInt($(this).find('.price'), 10);
var quantity = parseInt($(this).find('.quantity'), 10);
total+= quantity*price;
});
alert( total );
});
答案 2 :(得分:0)
考虑为要计算的每个元素添加一个类,并在stackoverflow上查看下面的答案。你应该能够为每次出现的类都有一个计数器,并在html中显示这个变量
How to getElementByClass instead of GetElementById with Javascript?
<div class="item"> ... <your inputs> ... </div>