Javascript 复选框值和数字框的总和

Javascript 复选框值和数字框的总和,javascript,html,Javascript,Html,一方面,我很难尝试此脚本对所有标记复选框的值进行求和(全部使用name=“PV”。求和应为“PV1”),另一方面,对手动写入相关输入数字框的值进行求和(全部使用name=“pvo”。求和应为PV2)。然后,用这些值计算其他数字(PB1和PB2)。但是它不会返回任何内容。我做错了什么 <script language="JavaScript" type="text/javascript"> var PV = document.getElementsByName("PV") var PV

一方面,我很难尝试此脚本对所有标记复选框的值进行求和(全部使用name=“PV”。求和应为“PV1”),另一方面,对手动写入相关输入数字框的值进行求和(全部使用name=“pvo”。求和应为PV2)。然后,用这些值计算其他数字(PB1和PB2)。但是它不会返回任何内容。我做错了什么

<script language="JavaScript" type="text/javascript">
var PV = document.getElementsByName("PV")
var PVO = document.getElementsByName("pvo")
var PV1 = document.getElementById("PV1")
var PV2 = document.getElementById("PV2")
var PB1 = document.getElementById("PB1")
var PB2 = document.getElementById("PB2")

function clickCh(form){calcpv(this.form) ; calcpvo(this.form) ; calculate(this.form)}

function trunc(n){return ~~n; }

function calcpv(form){for(i=0 ; i < PV.length ; i++)
{if(PV[i].checked == true) {PV1.value += Number(PV[i].value)} }}

function calcpvo(form){for(i=0 ; i < PVO.length ; i++)
{PV2.value += Number(PVO[i].value=)} }

function calculate(form){if(PV1>PV2){PB1.value = trunc(10 + (PV1.value*1 - PV2.value*1 -1)/150)}
else {PB1.value = trunc(10 + (PV1.value*1 - PV2.value*1 +1)/150)}; PB2.value = 20 - PB1.value
}


</script>

var PV=document.getElementsByName(“PV”)
var PVO=document.getElementsByName(“PVO”)
var PV1=document.getElementById(“PV1”)
var PV2=document.getElementById(“PV2”)
var PB1=document.getElementById(“PB1”)
var PB2=document.getElementById(“PB2”)
函数clickCh(form){calcpv(this.form);calcpvo(this.form);calculate(this.form)}
函数trunc(n){return~~n;}
函数calcpv(form){for(i=0;iPV2){PB1.value=trunc(10+(PV1.value*1-PV2.value*1-1)/150)}
else{PB1.value=trunc(10+(PV1.value*1-PV2.value*1+1)/150)};PB2.value=20-PB1.value
}
我的HTML代码的相关示例(有许多表行与此类似)




你做错了什么: 您似乎引用了一个不存在的数组

if(PV[i].checked == true)
我相信你的意思是检查这个:

if("PV" + i.checked == true)

如果您喜欢使用jQuery,那么它将是一件简单的事情:

$('input[name=PV]:checked').each(function(){

/// do calculation here.

});

不幸的是,我不知道如何使用JQuery,甚至不知道我的客户端浏览器是否支持它。几乎所有的浏览器都支持它。不要告诉我你的客户正在使用ie 1、2或3。哈哈,我之前定义了变量PV。但我还是尝试了您的解决方案和一些相关的变体,但仍然不起作用。问题在于我认为这一行(I=0;I$('input[name=PV]:checked').each(function(){ /// do calculation here. });