jquery表行总计和总计

时间:2012-09-07 20:27:43

标签: php jquery invoice totals

我目前正在为电脑维修技术人员编写一个小插件,而我现在正在尝试编写发票部分,但没有太多运气!

我已经从数据库填充了字段,但我尝试使用jquery来更新行总计和发票总额。

快速描绘我想要做的事情!

enter image description here 我试图让它更新页面加载的总数,以及单位成本和数量文本字段中的值更改时。

$(document).ready(function() {
    $("#invoiceitems tbody tr").each(function() {
        $(this).change(function() {
            updateTotal();
        });
    });
});

function updateTotal() {

    //Calculate Subtotal for each item
    var quantity = $('.quantity').val();
    var price = $('.price').val();
    var subtotal = parseInt(quantity) * parseFloat(price);
    $('.subtotal').text(subtotal);
    //Calculate Grand Total
    var sum = 0;
    $('.linetotal').each(function() {
        sum += parseFloat($(this).text());
    });
    $('#grandTotal').html(parseFloat(sum));
}​

在这里找到了这段代码,但我真的没有线索,也无法让它发挥作用!

非常感谢某些方向/帮助!

非常感谢 Jase

2 个答案:

答案 0 :(得分:1)

看起来你是jQuery的完全新手.. !!虽然开局不错..不难发现..

这里.price,.quantity和.lineTotal对应于他们所谈论的列的类名。 grandTotal是表中Total的id ..

我为你正在努力解决的案件提出Working Example Updated。应该是一个好的开始..

但请注意我没有添加任何条件来检查用户输入是否有效...尝试在推出时添加这些条件。如果您在解码时遇到任何困难,请告诉我。

答案 1 :(得分:0)

以这个简单的HTML为例:

<table>
<tr>
<td>
<input type="text" name="unitCost[]" id="unitCost_1" value="15.99" class="editable"/>
</td>
<td>
<input type="text" name="quantity[]" id="quantity_1" value="1" class="editable"/>
</td>
</tr>
<tr>
<td>
<input type="text" name="unitCost[]" id="unitCost_2" value="2.50" class="editable"/>
</td>
<td>
<input type="text" name="quantity[]" id="quantity_2" value="1" class="editable"/>
</td>
</tr>
</table>

我认为你想要改变你的jQuery看起来像这样:

$(document).ready(function() {
    updateTotal();

    $(".editable").live("change", function() {
        updateTotal();
    });
});

如果没有看到您的实际HTML,很难说您是否有任何问题updateTotal()功能