Javascript 如何解决js求和1行和1列之外的问题?JS 描述 立方米 比率 塔卡 博托曼阅读 珀伯阅读 15%增值税 全部的

Javascript 如何解决js求和1行和1列之外的问题?JS 描述 立方米 比率 塔卡 博托曼阅读 珀伯阅读 15%增值税 全部的,javascript,sum,frontend,Javascript,Sum,Frontend,我需要用js解决这个问题。我想求和行“CM+速率=TK”和列“所有CM行(合计立方米)+所有速率行(合计速率)=所有TK行(合计塔卡)”。我想你明白我的意思了。你能告诉我怎么解决这个问题吗。我需要这个代码的确切例子。这对我更有帮助。用户也可以给空字段,它必须使用空字段。15%增值税字段可以为空或不能为空。请尝试此代码 函数calculateTotal(){ var-totalCm=0; $(“输入[name='cm']”)。每个(函数(){ totalCm+=$(this.val()?数字($

我需要用js解决这个问题。我想求和行“CM+速率=TK”和列“所有CM行(合计立方米)+所有速率行(合计速率)=所有TK行(合计塔卡)”。我想你明白我的意思了。你能告诉我怎么解决这个问题吗。我需要这个代码的确切例子。这对我更有帮助。用户也可以给空字段,它必须使用空字段。15%增值税字段可以为空或不能为空。

请尝试此代码

函数calculateTotal(){
var-totalCm=0;
$(“输入[name='cm']”)。每个(函数(){
totalCm+=$(this.val()?数字($(this.val()):0;
});
$(“输入[名称=总立方米]”).val(总厘米);
// --------------------
var totalRate=0;
$(“输入[name='rate'])。每个(函数(){
totalRate+=$(this.val()?数字($(this.val()):0;
});
$(“输入[name='TOTAL RATE']”)val(totalRate);
// --------------------
$(“tr”)。每个(函数(){
如果($(此).children(“td”).length){
$($($(this.children(“td”)[2])。children(“input”)[0]).val(
($($($(this.children(“td”)[1])。children(“input”)[0]).val())?数字($($($(this.children(“td”)[1])。children(“input”)[0]):0)+
($($($(this.children(“td”)[0])。children(“input”)[0]).val())?数字($($($(this.children(“td”)[0])。children(“input”)[0]):0)
)
}
});
// --------------------
var totalTaka=0;
$(“输入[name='tk'])。每个(函数(){
totalTaka+=$(this.val()?数字($(this.val()):0;
});
$(“输入[name='TOTAL TAKA']”)val(totalTaka);
// --------------------
}
$(“输入”)。在('change',function()上{
计算总数();
});

描述
立方米
比率
塔卡
博托曼阅读
珀伯阅读
全部的

对于总计的额外计算,它将汇总每行的所有立方米和费率,并将值输入到最后一行

    <table class="table table-bordered">
      <thead class="thead-dark">
        <tr>
          <th scope="col">Description</th>
          <th scope="col">Cubic Meter</th>
          <th scope="col">Rate</th>
          <th scope="col">Taka</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td scope="row">Bortoman Reading</td>
          <td><input type="number" min="0" name="cm" placeholder="xx"></td>
          <td><input type="number" min="0" name="rate" placeholder="xx"></td>
          <td><input type="number" min="0" name="tk" placeholder="TK"></td>
        </tr>
        <tr>
          <td scope="row">Purber Reading</td>
          <td><input type="number" min="0" name="cm" placeholder="xx"></td>
          <td><input type="number" min="0" name="rate" placeholder="xx"></td>
          <td><input type="number" min="0" name="tk" placeholder="TK"></td>
        </tr>
<tr>
          <td scope="row" colspan="2">15% vat</td>
          <td><input type="number" min="0" name="rate" placeholder="xx"></td>
          <td><input type="number" min="0" name="tk" placeholder="TK"></td>
        </tr>
        <tr>
          <td scope="row">Total</td>
          <td><input type="number" min="0" name="TOTAL CUBIC METER" placeholder="xx"></td>
          <td><input type="number" min="0" name="TOTAL RATE" placeholder="xx"></td>
          <td><input type="number" min="0" name="TOTAL TAKA" placeholder="TK"></td>
        </tr>
      </tbody>
    </table>
您必须在HTML中添加以下内容:

 document.getElementById('calculate').addEventListener('click', function() {
   var tr = document.querySelectorAll('table tr');
   var td = document.querySelectorAll('table tr:last-child td > input');
   var totalcm = 0,
     totalrate = 0;
   tr.forEach(function(el, i) {
     if (i !== 0) {
       let cm = el.querySelectorAll('td > input')[0].value;
       let rate = el.querySelectorAll('td > input')[1].value;
       el.querySelectorAll('td > input')[2].value = Number(cm) + Number(rate);
       totalcm += Number(cm);
       totalrate += Number(rate);

     }
   })
   td[0].value = totalcm;
   td[1].value = totalrate;
   td[2].value = totalrate + totalcm;
 });
计算

附带说明,为什么不使用Bootstrap的网格系统?我只需要解决这个问题。我不需要设计老板。:)
<button type="button" id="calculate">Calculate</button>