使用JavaScript显示订单总数

时间:2014-02-21 12:09:31

标签: javascript php html mysql

我在网站上显示了可用于购买的商品表。我正在使用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没有经验。我非常感谢你的建议。

3 个答案:

答案 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>