Javascript 单击计算总和并追加总计?

Javascript 单击计算总和并追加总计?,javascript,html,jquery,Javascript,Html,Jquery,我想计算一些DIV框中的数字,并将总数附加到另一个DIV中 当另一个函数将值动态添加到长方体中时,如何在单击长方体类时使其工作 我尝试过各种混乱的方法,比如在窗口中包装整个代码。onclick。 var总计=0; $('.box>.box\u content>.box\u price')。每个(函数(){ total+=parseInt($(this.text()); }); $('.container').append(“总计:+Total+”); 控制台日志(总计) 100 200 您

我想计算一些DIV框中的数字,并将总数附加到另一个DIV中

当另一个函数将值动态添加到长方体中时,如何在单击长方体类时使其工作

我尝试过各种混乱的方法,比如在
窗口中包装整个代码。onclick

var总计=0;
$('.box>.box\u content>.box\u price')。每个(函数(){
total+=parseInt($(this.text());
});
$('.container').append(“总计:+Total+”);
控制台日志(总计)

100
200

您可以使用
单击
价格框上的
事件
div,然后获取已单击的div值,以及
sum
div值,将其添加并显示在
sum
div中

演示代码
var总计=0;
$('.box>.box\u content>.box\u price')。每个(函数(){
total+=parseInt($(this.text());
});
$('.container').append(“总计:+Total+”);
控制台日志(总计);
$(“.box_price”)。单击(函数(){
//获取单击的价格,然后添加金额
var price=parseInt($(this.text())+parseInt($(“.sum span”).text().trim())
$(“.sum span”).text(price)//显示在span中
})

100
200

您可以侦听
。容器
单击以使容器内的任何内容都将触发事件,然后执行计算

演示:

//获取容器
const container=document.querySelector('.container');
//创建一个空容器,并将其添加到容器的末尾
const totalEl=document.createElement('span');
容器。附加子对象(totalEl);
//倾听所有的点击,但仅当其中一个孩子被点击时才做一些事情
container.addEventListener('click',函数(e){
如果(!e.target.classList.contains('container')){
const prices=document.queryselectoral('.box_price');
设total=0;
价格。forEach(项目=>{
总计+=parseInt(item.innerText,10)
})
//将总计添加到我们创建的总计元素中
totalEl.innerHTML=总计
}
})
var总计=0;
calculateResult=()=>{
总数=0;
$('.box>.box\u content>.box\u price')。每个(函数(){
console.log()
total+=parseInt($(this.text());
});
$('#sum').html(“总计:+total”);
}
$(“#目标”)。单击(函数(){
$('.container')。追加(“100”);
calculateResult();
});

0
添加

您可以在HTML中放置一个空div,并通过添加到每个
.box
元素的事件侦听器进行更新,如:

//只要单击一个框,就会找到所有框并调用'sumBoxes'
const-box=document.getElementsByClassName(“box”);
对于(让盒子中的盒子){box.addEventListener(“单击”,sumBoxes);}
//定义侦听器
功能盒(事件){
var合计=0;
$('.box>.box\u content>.box\u price')。每个(函数(){
total+=parseInt($(this.text());
});
$('.sum').html(“总计:+Total);//替换“.sum”的内容`
}

100
200

每次单击方框时,是否要添加方框价格合计?谢谢,这样也无需删除以前的合计。