Javascript 如何解决js求和1行和1列之外的问题?JS 描述 立方米 比率 塔卡 博托曼阅读 珀伯阅读 15%增值税 全部的
我需要用js解决这个问题。我想求和行“CM+速率=TK”和列“所有CM行(合计立方米)+所有速率行(合计速率)=所有TK行(合计塔卡)”。我想你明白我的意思了。你能告诉我怎么解决这个问题吗。我需要这个代码的确切例子。这对我更有帮助。用户也可以给空字段,它必须使用空字段。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()?数字($
函数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>