复选框值和数字框的总和

时间:2013-09-10 19:41:51

标签: javascript html

我一直难以尝试这个脚本一方面总结了所有标记复选框的值(全部名称=“PV”。总和应为“PV1”),另一方面,手动写入相关输入数字框的值(全部名称=“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>

我的HTML代码的相关示例(有许多类似于此的表行)

<td><input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70>
<input type="checkbox" name="PV" value=70></td>
<td><input type="text"></td><td><input type="number" name="pvo"></td></tr>
<input id="PV1" type="text" name="" readonly="readonly">
<input id="PV2" type="text" name="" readonly="readonly">
<input type="button" onclick="clickCh(this.form)" value="calcular"><br>
<input id="PB1" type="text" name="" readonly="readonly">
<input id="PB2" type="text" name="" readonly="readonly"><br>

2 个答案:

答案 0 :(得分:1)

如果你喜欢使用jQuery,那将很容易:

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

/// do calculation here.

});

答案 1 :(得分:0)

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

if(PV[i].checked == true)

我相信你的意思是检查一下:

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