jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用jquery计算具有grandtotal的每行的数量价格大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试做一个发票脚本,我需要做一些计算.用户将输入@L_197_3@字段和价格字段.系统必须乘以@L_197_3@*价格并显示金额字段.金额总计应显示在grand@R_615_10586@l字段中.我试图浏览并做了以下的事情.它的工作正常< span>但是当我给一个文本框时它不起作用.我对 @L_197_8@很新,我没有得到我犯错的地方.我的HTML如下:

<table id="myTable">
    <thead>
        <tr><th>Product name</th><th>Qty</th><th>Price</th>
    <th align="center"><span id="amount" class="amount">amount</span> </th></tr>
    </thead>
    <tfoot>
        <tr><td colspan="2"></td><td align="right"><span id="@R_615_10586@l" class="@R_615_10586@l">@R_615_10586@L</span> </td></tr>
    </tfoot>
    <tbody>

    <tr>
    <td>Product 1</td><td><input type="text" class="qty" name="qty"></td>
    <td><input type="text" value="11.60" class="price"></td>
    <td align="center"><input type="text" class="amount" id="amount"><span id="amount" class="amount">0</span></td>
    </tr>

<tr><td>Product 2</td><td><input type="text" class="qty" name="qty"></td>
<td><input type="text" value="15.26" class="price"></td>
<td align="center"><input type="text" class="amount" id="amount"><span id="amount" class="amount">0</span></td></tr>
<tr><td></td><td></td><td></td><td><input type="text" class="@R_615_10586@l" id="@R_615_10586@l"></td></tr>
</tbody></table>

我的jquery如下:

<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(document).ready(function(){

    update_amounts();
    $('.qty').change(function() {
        update_amounts();
    });
});


function update_amounts()
{
    var sum = 0.0;
    $('#myTable > tbody  > tr').each(function() {
        var qty = $(this).find('.qty').val();
        var price = $(this).find('.price').val();
        var amount = (qty*pricE)
        sum+=amount;
        $(this).find('.amount').text(''+amount);
    });
    //just update the @R_615_10586@l to sum  
    $('.@R_615_10586@l').text(sum);
}
});//]]> 

</script>

Link To Fiddle

或者有更好的方法来处理相同的问题.请帮我解决这个问题.

解决方法

您没有迭代正确的行.并且在进行乘法之前没有正确解析值.这是一种不好的做法.

另外,你也有与input元素相同的input元素类.你必须只使用.val()来设置输入元素以获得它的值:

$(document).ready(function(){
update_amounts();
$('.qty').change(function() {
    update_amounts();
});
function update_amounts(){
var sum = 0.0;
$('#myTable > tbody  > tr:not(:last)').each(function() {
    var qty = parseFloat($(this).find('.qty').val() || 0,10);
    var price = parseFloat($(this).find('.price').val() || 0,10);
    var amount = (qty*pricE)
    sum+=amount;
    $(this).find('input.amount').val(amount);
});
//just update the @R_615_10586@l to sum  
$('input.@R_615_10586@l').val(sum);
}
});//]]>

Working Demo

大佬总结

以上是大佬教程为你收集整理的使用jquery计算具有grandtotal的每行的数量价格全部内容,希望文章能够帮你解决使用jquery计算具有grandtotal的每行的数量价格所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。