Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-复选框循环未正确合计价格_Javascript_Html - Fatal编程技术网

JavaScript-复选框循环未正确合计价格

JavaScript-复选框循环未正确合计价格,javascript,html,Javascript,Html,当我单击顶部的复选框时,它会在“总计”框中放入一个“0”,因此我知道它已正确连接,但我认为循环中的逻辑存在问题。html中的一个元素如下所示 const form=document.getElementById('bookingForm'); const total=document.getElementById('total'); const checkbox=document.querySelectorAll('input[data price][type=checkbox]); cons

当我单击顶部的复选框时,它会在“总计”框中放入一个“0”,因此我知道它已正确连接,但我认为循环中的逻辑存在问题。html中的一个元素如下所示

const form=document.getElementById('bookingForm');
const total=document.getElementById('total');
const checkbox=document.querySelectorAll('input[data price][type=checkbox]);
const cbamount=复选框.length;
document.getElementsByName('event[])[0]。onclick=function(){
总价
};
函数totalPrice(){
让totalprice=0;
for(设i=0;i
卡门 2020 2020 T 磨坊 3. 全部的 全部的
您提供的代码中没有
总数

我个人会在只有一个元素时使用ID,如果有更多元素,则使用相对寻址和/或委托

const form=document.getElementById('booking');
const total=document.getElementById('total');
document.getElementById(“预订”).addEventListener(“单击”),函数(e){
如果(e.target.name==“event[]”){
让totalprice=0;
[…document.querySelectorAll('input[data price][type=checkbox]'))].forEach(函数(框){
如果(复选框){
totalprice+=+box.dataset.price;
}//如果
})
document.querySelector(“[name=total]”)。value=totalprice.toFixed(2);
}
})

选择事件
卡门
2020
2020
T
磨坊
3.
灰烬
202
2020-12-31
展览
比伊河
0
全部的
全部的

“然而,我认为循环中的逻辑存在问题”-您为什么这么认为?因为框中的总数不会从0变为0。这让我觉得总数加起来不正确。不要“想”。。。开始我是,但它不是调试器上出现的东西,因为我遗漏了一些东西。有什么突出的地方吗?您没有向
totalprice
添加任何内容。您只更新
框.dataset.price
。该行可能应该是
totalprice=totalprice+parseFloat(box.dataset.price)这是我想要的功能,但是在我的网站上它不会更新文本框。它保持为空,并且控制台不会记录任何错误。非常感谢您的帮助,但我仍然无法使其正常工作。请发布更多HTMLIl,我将其放在原始帖子中。@ccowan1请不要创建新线程。我仍然可以在这里更新我的答案