【问题标题】:Jquery - Adding all numbers inside span of a particular classJquery - 在特定类的范围内添加所有数字
【发布时间】:2015-01-13 14:29:27
【问题描述】:

我对此一头雾水,我可以在 jquery 中执行 div 的通常内容 + 另一个 div 添加的内容,但我不确定如何将页面上特定跨度的所有实例的内容相加.基本上我可以使用 jquery 和 ajax 将信息拉入其中的页面,它提取所选月份的发票并在每一行中显示它们。我想要做的是将这些行与“grandtotal”类一起添加,这样我就可以显示该月所有发票的每月发票总额,但我不确定如何添加“grandtotal”+“grandtotal”等当我不知道每次将生成多少个该跨度的实例时,我需要以某种方式从页面上当前的“grandtotal”的每个实例中获取数字,然后将其显示在 div 'monthlytotal' 中。这是从 ajax 中提取每个发票行的代码。

 $.getJSON('select.php', {monthyear: $(this).val()}, function(data){
                var invoicerow = '';
                for (var x = 0; x < data.length; x++) {
                    if (data[x]['datepaid'] == '0000-00-00'){datepaid = '<span style="color:red;">Not Paid</span>'}else{datepaid = data[x]['datepaid']};
                    invoicerow += '<tr><td>' + data[x]['invoiceID'] + '</td><td>' + data[x]['customerID'] + '</td><td>' + data[x]['date'] + '</td><td>£' + '<span class="grandtotal">' + data[x]['grandtotal'] + '</span>' + '</td><td>' + '<a target="_NEW" href="../salesmanager/viewinvoice.php?&salesID=' + data[x]['salesID'] + '">View Invoice</a></td><td>' + datepaid + '</td></tr>';
                }
                $('#summarycontent').html(invoicerow);
              $("select").select2();

编辑>>>>>

好的,到目前为止,我在这里,这是可行的,但问题是它与上个月相乘.....所以当页面加载时选择框显示 Total: ,当它第一次按下并说选择 Januaury它说 £0 ,然后选择 feb ,你会得到 £1860 ,但问题是那是一月的总数而不是二月的,二月的总数是 £0 ,所以结果好像一直落后。

<script>
                    $(document).ready(function(){
    $('#selectmonth').on('change', function (){
                        var sum = 0;
$('.grandtotal').each(function(){
 sum += parseFloat($(this).text());
});
$('#total_price').text('£' + sum);
        });   
            });
</script>

【问题讨论】:

  • 我找到了这个 var myVar = $("#start").find('.myClass').val();如果重新编写,可能会在页面上找到这些类,但我不确定当它们都被称为同一个东西时如何将它们全部加在一起,因为它不像 div1 + div2 那样容易

标签: jquery ajax addition


【解决方案1】:

好吧,这似乎可行:

<script>
                    $(document).ready(function(){
    $('#invoices').bind('DOMNodeInserted DOMNodeRemoved', function() {
                        var sum = 0;
$('.grandtotal').each(function(){
var tal = $(this).text();
if(isNaN(tal)) {
sum += 0;
}else{
sum += parseFloat($(this).text());};
});
 $('#total_price').text('£' + sum);
        });   
            });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-10
    • 2013-04-15
    • 2016-08-23
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多