var intCount = document.TestFrm.count.value; // 获取总数
var dBasicScore = 0.0; // 分值
var intTemp = 1;
var dScore = 0.0; // 总分
for (intTemp = 1; intTemp <= intCount; intTemp++)
{
dBaiscScore = parseFloat(document.TestFrm.basicscore[intTemp].value); // 获取分值
if (document.TestFrm.seloption[intTemp].value == "1") // 是1则加分
{
dScore += dBasicScore;
}
}
document.TestFrm.TotalScore.value = dScore;谢谢~~~
var dBasicScore = 0.0; // 分值
var intTemp = 1;
var dScore = 0.0; // 总分
for (intTemp = 1; intTemp <= intCount; intTemp++)
{
dBaiscScore = parseFloat(document.TestFrm.basicscore[intTemp].value); // 获取分值
if (document.TestFrm.seloption[intTemp].value == "1") // 是1则加分
{
dScore += dBasicScore;
}
}
document.TestFrm.TotalScore.value = dScore;谢谢~~~
但是
我在html里seloption不是表示成一个name的
因为都是选择题,不能把所有radio都使用一个name,这样会使所有的选择题都合在一起了
必须每道题的选项都使用不同的name
我想这样表达出来:
每道题的选项:
<input type="radio" name="seloption[n]" value="1">A
<input type="radio" name="seloption[n]" value="2">B
<input type="radio" name="seloption[n]" value="3">C
<input type="radio" name="seloption[n]" value="4">D
然后在js里判断每一题的选项,选value为1的都加分
if (document.TestFrm.seloption[n].value == "1") ...
这样是一道题的判断,有n题
有么有什么解决方法?
for(i=0;i<count.length;i++)
{
if(count[i].value == 1)
{
dScore += dBasicScore;
}
}
如果你是指,只要页里面input的值填的是1就加分的话可以这样
function getf(){
var dBasicScore = 0.0; // 分值
var dScore = 0.0; // 总分
var inputs=document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
if(Number(inputs[i].value)==1){
dScore += dBasicScore;
}
}
return dScore;
}
<input type="radio" name="seloption" value="2">B
就是选项
name相同的话,就是一个单选按钮组,根据不同的VALUE来判断选了哪个
一个单选按钮组就是一组同名的集合,N道题的话是N组同名的集合,相当于一个二维的集合,我不知道该怎么写
var dBasicScore = 0.0; // 分值
var dScore = 0.0; // 总分
var inputs=document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++){
if(inputs[i].getAttribute("type")=="radio"){
if(Number(inputs[i].value)==1){
dScore += dBasicScore;
}
}
}
return dScore;
}