Javascript 分别计算

Javascript 分别计算,javascript,php,Javascript,Php,我就是想不出来:( 尝试了很多组合,结果只是出现了错误 我想做的是: -2行复选框。 第1行包含一个值为的复选框: <input onclick="clickCh(this)" type="checkbox" name="row1" value="1"> <input onclick="clickCh(this)" type="checkbox" name="row2" value="2"> 脚本本身不是我的,我只是在这个网站上找到的发布的代码只在全局运行时运行,没有

我就是想不出来:(

尝试了很多组合,结果只是出现了错误

我想做的是: -2行复选框。 第1行包含一个值为的复选框:

<input onclick="clickCh(this)" type="checkbox" name="row1" value="1">
<input onclick="clickCh(this)" type="checkbox" name="row2" value="2">

脚本本身不是我的,我只是在这个网站上找到的

发布的代码只在全局运行时运行,没有错误(不在onload事件或任何其他函数中)-一个小的更改可以修复:

var total = document.getElementById("total")
clickCh = function(caller){
if(caller.checked){
add(caller)
} else {
subtract(caller)
}
}
function add(caller){   total.value = total.value*1 + caller.value*1}
function subtract(caller){  total.value = total.value*1 - caller.value*1}
jsFiddle:

(更改在第2行-将函数分配给变量可确保它进入全局范围。)


更好的方法是将
clickCh
函数分配给脚本中每个复选框的
onclick
事件,这样就不会污染全局范围。

getelementbyid后的分号?我没有看到任何问题。文本中任何地方都没有问号支持我的理论…-2行checkboxes?脚本似乎来自:这里有一个JSFIDLE可供使用……它似乎确实产生了错误:
var total = document.getElementById("total")
function clickCh(caller){
if(caller.checked){
add(caller)
} else {
subtract(caller)
}
}
function add(caller){   total.value = total.value*1 + caller.value*1}
function subtract(caller){  total.value = total.value*1 - caller.value*1}
var total = document.getElementById("total")
clickCh = function(caller){
if(caller.checked){
add(caller)
} else {
subtract(caller)
}
}
function add(caller){   total.value = total.value*1 + caller.value*1}
function subtract(caller){  total.value = total.value*1 - caller.value*1}