Javascript 立即计算表单的总数,无需选中复选框
我有一个HTML、JavaScript表单,它根据表单中的选择计算价格。问题是,只有在单击一个复选框后才能计算总价。我希望它立即计算价格,而不必先勾选复选框。下面是JavaScript代码的一个片段:Javascript 立即计算表单的总数,无需选中复选框,javascript,html,checkbox,Javascript,Html,Checkbox,我有一个HTML、JavaScript表单,它根据表单中的选择计算价格。问题是,只有在单击一个复选框后才能计算总价。我希望它立即计算价格,而不必先勾选复选框。下面是JavaScript代码的一个片段: function totalIt() { var input = document.getElementsByName("product"); var total = 0; for (var i = 0; i < input.length; i++) { if (inpu
function totalIt() {
var input = document.getElementsByName("product");
var total = 0;
for (var i = 0; i < input.length; i++) {
if (input[i].checked) {
total += parseFloat(input[i].value); // this function should run immediately
}
}
document.getElementById("total").value = "€" + total.toFixed(2);
}
函数totalIt(){
var输入=document.getElementsByName(“产品”);
var合计=0;
对于(变量i=0;i
可以找到完整的表格
如何做到这一点?调用totalIt()代码>加载页面后
<!-- Rekenscript om het totaal van het formulier te genereren -->
function totalIt() {
var input = document.getElementsByName("product");
var total = 0;
for (var i = 0; i < input.length; i++) {
if (input[i].checked) {
total += parseFloat(input[i].value);
}
}
document.getElementById("total").value = "€" + total.toFixed(2);
}
<!-- Checkbox switch om maandelijkse kosten aan of uit te doen -->
function showMe (box) {
var chboxs = document.getElementsByName("c1");
var vis = "none";
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
vis = "block";
break;
}
}
document.getElementById(box).style.display = vis;
}
<!-- Switch om ander thema te kiezen (met a href) -->
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "Een ander thema kiezen";
}
else {
ele.style.display = "block";
text.innerHTML = "Huidige thema behouden";
}
}
totalIt(); // call it here
函数totalIt(){
var输入=document.getElementsByName(“产品”);
var合计=0;
对于(变量i=0;i 对于(var i=0;i我找到了一个很好的解决方案。我没有意识到这一点是很愚蠢的,但不幸的是,我并不擅长JavaScript
我按照@Durga的建议使用了totalIt();
。我在它周围添加了这个脚本,以便它每10毫秒调用一次计算函数:
window.setInterval(function(){
totalIt();
}, 10);
无论您将脚本放在何处,只要您不将其放在表单代码中,也不替换任何代码。当然,您可以将10ms更改为您需要的任何值。感谢大家的回答。该表单似乎还有一些其他问题。单击第一个复选框,然后松开它,价格不会为零。除此之外在表单上执行任何操作的唯一方法似乎是选中复选框。您似乎建议您希望在用户实际选中复选框之前发生一些事情(即使这是用户可以进行选择的唯一方法)?totalIt()
在您的电脑中调用它js@julekgwa哦,你说得对。我会解决的。谢谢你能显示你的HTML表单吗?可能是重复的