Javascript jquery将表行从给定索引单击到0 3.5014.600,01 5.0014.449,99 0.7814.350,00 2.5014.349,99 1.1014.250,00

Javascript jquery将表行从给定索引单击到0 3.5014.600,01 5.0014.449,99 0.7814.350,00 2.5014.349,99 1.1014.250,00,javascript,jquery,math,Javascript,Jquery,Math,是否有一种方法可以使用jquery将给定索引(asume给定索引3)中的数据量和平均数据价格相加到数据索引0 也许您可以为我指出正确的方向,因为我这样做了您可以使用jquery filter函数来过滤列表,然后对结果进行求和和和平均 $(文档).ready(函数(){ var总和=0; var平均值=0; var filtered=$(“tr”).filter(函数(){ var id=parseInt($(this).data(“index”); 返回((id=0)); }); 过滤。每个(

是否有一种方法可以使用jquery将给定索引(asume给定索引3)中的数据量和平均数据价格相加到数据索引0


也许您可以为我指出正确的方向,因为我这样做了

您可以使用jquery filter函数来过滤列表,然后对结果进行求和和和平均

$(文档).ready(函数(){
var总和=0;
var平均值=0;
var filtered=$(“tr”).filter(函数(){
var id=parseInt($(this).data(“index”);
返回((id=0));
});
过滤。每个(函数(){
sum+=parseFloat($(this).data(“卷”))
avg+=parseFloat($(此).data(“价格”))
});
控制台日志(总和);
log(parseFloat(avg/filtered.length));
});

3.5014.600,01
5.0014.449,99
0.7814.350,00
2.5014.349,99
1.1014.250,00

您可以使用jquery filter函数过滤列表,然后对结果进行求和和和平均

$(文档).ready(函数(){
var总和=0;
var平均值=0;
var filtered=$(“tr”).filter(函数(){
var id=parseInt($(this).data(“index”);
返回((id=0));
});
过滤。每个(函数(){
sum+=parseFloat($(this).data(“卷”))
avg+=parseFloat($(此).data(“价格”))
});
控制台日志(总和);
log(parseFloat(avg/filtered.length));
});

3.5014.600,01
5.0014.449,99
0.7814.350,00
2.5014.349,99
1.1014.250,00
//**使用开始和结束节点调用函数范围,以获得总和和平均值**//


功能范围(开始、结束){
var-sumVol=0;
var sumPrice=0;
var计数=0;
对于(var i=开始;i
//**使用开始和结束节点调用函数范围,以获得总和和平均值**//


功能范围(开始、结束){
var-sumVol=0;
var sumPrice=0;
var计数=0;
对于(var i=start;i我对此的看法:

  • 我从标记中删除了
    onclick=“populateSellForm(0)”
    ,因为它似乎是多余的,因为您已经有了
    数据索引
    属性
  • 相反,我在行上附加了一个点击事件处理程序。因此,每次点击一行时,都会计算出总量和平均价格之和
  • $(文档).ready(函数(){
    $(“表tr”)。在(“单击”,函数()上{
    如果(!$(此).data(“卷”)| |!$(此).data(“价格”)返回;
    var limit=$(此).data(“索引”),
    trs=$(“表tr”),
    数量总和=0,总价=0;
    $。每个(trs,功能(i,val){
    如果(i==0)返回true;
    如果(i>limit+1)返回false;
    数量总和+=+$(trs[i])。数据(“数量”);
    总价+=+$(trs[i])。数据(“价格”);
    });
    元(“#限额”)。文本(限额+1);
    $(“#卷”).text(sumOfVolumes.toFixed(2));
    元(“#价格”).text((总价/(限额+1)).toFixed(2));
    });
    });
    表格{
    边界塌陷:塌陷;
    宽度:100%;
    }
    th,td{
    文本对齐:左对齐;
    填充:8px;
    }
    tr:not(:第一个子项){cursor:pointer;}
    tr:n子(偶数){背景色:#f2f2}
    th{
    背景色:#4CAF50;
    颜色:白色;
    }
    
    0首项:
    总容量:0
    平均价格:0
    卷 价格 3.5014.600,01 5.0014.449,99 0.7814.350,00 2.5014.349,99 1.1014.250,00
    我对此的看法:

  • 我从标记中删除了
    onclick=“populateSellForm(0)”
    ,因为它似乎是多余的,因为您已经有了
    数据索引
    属性
  • 相反,我在行上附加了一个点击事件处理程序。因此,每次点击一行时,都会计算出总量和平均价格之和
  • $(文档).ready(函数(){
    $(“表tr”)。在(“单击”,函数()上{
    如果(!$(此).data(“卷”)| |!$(此).data(“价格”)返回;
    var limit=$(此).data(“索引”),
    trs=$(“表tr”),
    数量总和=0,总价=0;
    $。每个(trs,功能(i,val){
    如果(i==0)返回true;
    如果(i>limit+1)返回false;
    数量总和+=+$(trs[i])。数据(“数量”);
    总价+=+$(trs[i])。数据(“价格”);
    });
    元(“#限额”)。文本(限额+1);
    $(“#卷”).text(sumOfVolumes.toFixed(2));
    元(“#价格”).text((总价/(限额+1)).toFixed(2));
    });
    });
    表格{
    边界塌陷:塌陷;
    宽度:100%;
    }
    th,td{
    文本对齐:左对齐;
    填充:8px;
    }
    tr:not(:第一个子项){cursor:pointer;}
    tr:n子(偶数){背景色:#f2f2}
    th{
    背景色:#4CAF50;
    颜色:白色;
    }
    
    0首项:
    总容量:0
    平均价格:0
    卷 价格 3.5014.600,01 5.0014.449,99 0.7814.350,00 2.5014.349,99 1.1014.250,00
    感谢您的帮助感谢您的帮助
    <tr data-index="0" data-volume="3.50" data-price="14600.01" onclick="populateSellForm(0)" data-key="11"><td>3.50</td><td>14.600,01</td></tr>
    <tr data-index="1" data-volume="5.00" data-price="14449.99" onclick="populateSellForm(1)" data-key="7"><td>5.00</td><td>14.449,99</td></tr>
    <tr data-index="2" data-volume="0.78" data-price="14350.00" onclick="populateSellForm(2)" data-key="5"><td>0.78</td><td>14.350,00</td></tr>
    <tr data-index="3" data-volume="2.50" data-price="14349.99" onclick="populateSellForm(3)" data-key="1"><td>2.50</td><td>14.349,99</td></tr>
    <tr data-index="4" data-volume="1.10" data-price="14250.00" onclick="populateSellForm(4)" data-key="15"><td>1.10</td><td>14.250,00</td></tr>
    
    <script type="text/javascript">
    function range(start,end){
        var sumVol  = 0;
        var sumPrice  = 0;
        var count = 0;
        for(var i=start;i<=end;i++)
        {
            sumVol += parseFloat($('tr[data-index='+i+']').attr('data-volume'));
            sumPrice += parseFloat($('tr[data-index='+i+']').attr('data-price'));
            count++;
        }
        var avgPrice = (sumPrice/count);
        return "Sum of Volume = "+sumVol+" & Average Price = "+avgPrice;
    }
    
    alert(range(1,3));
    </script>